一. 实验环境
二. 实验步骤
(1)信息收集——主机发现
(2)信息收集——端口扫描
(3)渗透测试
139,445端口(共享服务)
80端口(Apache服务——http)
22端口(SSH服务)
三. 实验总结
- 靶机:Lazsysadmin,IP地址:暂时未知;
- 测试机:Kali,IP地址:192.168.37.131;
测试机:物理机win7;
1. 查看Kali的IP信息;(IP:192.168.37.131)
2. 扫描主机(netdiscover)
netdiscover -i eth0 -r 192.168.37.0/24
Netdiscover: -i 指定网卡 -r 指定网段
- 找到目标主机IP:192.168.37.139
- 也可以使用nmap进行主机发现,在使用nmap进行主机发现时,会扫描出本机的IP地址,而netdiscover则不会扫描出本机IP地址
1. 扫描端口(masscan)
masscan --rate=10000 --ports 0-65535 192.168.37.139
masscan --rate=每秒多少个数据包 --ports 端口范围 IP地址/IP地址段
- Masscan扫描速度快,为了防止漏扫,可以多扫描几次;
2. 扫描端口的详细信息(nmap)
nmap -sV -T4 -p 22,80,139,445,3306,6667 192.168.37.139
nmap -sV -T4 -A -p 22,80,139,445,3306,6667 192.168.37.139
- 其中:-T4指定扫描过程中使用的时序(分为0-5等级);
- -sV扫描版本的信息和开启的服务;
- 也可以选择带-A参数,详细扫描开放端口的具体服务;
- 与masscan相比,namp更详细,但是速度较慢(可以通过masscan快速扫描,再使用nmap扫描具体开放的端口)
- 可以发现192.168.37.139主机开启了22(ssh服务),139/445(smaba共享服务),80(Apache服务),3306(MySQL服务)和6667(icrd互联网中继聊天守护进程)端口;
1. 原理
通过扫描共享用户的用户名和密码,查看是否可以查看共享信息;
2. 操作过程
2.1> 枚举靶机信息;
enum4linux 192.168.37.139
- 扫描可知:139,445共享端口的登录用户名和密码为空;
2.2> 远程网络挂载(利用共享端口进行光盘挂载)
mount -t cifs -o username='',password='' //192.168.37.139/share$ /media
- 其中:-t指定文件系统类型,i表示Internet,f表示file,s表示system,-o描述设备或档案的挂接方式;
2.3> 查看挂载的内容;
- 139,445共享的目录为/var/www/html,可以查看目录下的内容;
- 在deets.txt文件中有一个密码信息,12345;
- 查看WordPress后台登录的配置文件,可以知道数据库文件登录的用户名和密码;
- 用户名:Admin,密码:TogieMYSQL12345^^;
1. 原理
查看扫描到的目录,发现漏洞,进而获取shell等信息;
2. 实验过程
2.1> 发现目标开启apache服务,在网页中可以尝试web渗透(爆破、sql注入、xss、csrf等)
2.2> 网站指纹信息扫描(whatweb)
2.3> 目录扫描(dirb)
查看系统中已经安装dirb文件的路径,找到对应的字典,尝试用大字典扫描目录;
- 扫描到如上可查看的路径
2.4> 查看扫描到的网站目录
2.4.1> 打开目标主机的php配置文件
http://192.168.37.139/info.php
- 在配置文件中,含有目标主机服务器的各项配置信息,若被攻击者看到,风险极高;
2.4.2> 查看禁止爬虫机器人爬取的文件
http://192.168.37.139/robots.txt
- 但并未获取到我们需要的信息;
2.4.3> 查看搭站模板
http://192.168.37.139/wordpress/
- 在wordpress首页中,发现“My name is togie. ”,登录的用户名可能有 togie;
2.4.4> 查看搭站后台登录页面
http://192.168.37.139/wordpress/wp-admin/
2.4.5> 登录;
尝试使用用户名:togie,密码:12345,并未登录成功;
尝试使用wp-config.php中获取的账户和密码尝试进行登录;
用户名:Admin,密码:TogieMYSQL12345^^;成功登录;
- 成功进行登录;
2.5> 制作后门(在404页面中注入一句话木马)
输入错误路径,打开404页面,运行木马;
2.6> 检测后门
使用中国菜刀,获取webshell权限
2.7> 查看phpmyadmin后台登录页面
2.7.1> 查看phpmyadmin后台登录页面
http://192.168.37.139/phpmyadmin/
2.7.2> 尝试使用用户名:togie,密码:12345,并未登录成功;
尝试使用wp-config.php中获取的账户和密码进行登录;
用户名:Admin,密码:TogieMYSQL12345^^;,登陆成功;
2.7.3> 虽然成功登录,但是权限过低,无法查看数据库中的表;
实验过程
1. 尝试使用用户名:togie,密码:12345 远程连接目标主机;
2. 远程连接成功后,查看当前登录用户togie允许命令的权限信息;
- Togie用户在目标靶机上可以执行所有命令;
- Togie用户所在的组为:sudo组;
3. 提权操作,获取root权限;
- 获取root权限之后,可以进行任意的操作;
4. 例如:上传后门文件(一句话木马)
- 后门文件可以多放几个在不同的目录,使用不同的文件名,防止被发现;
- 也可以使用webacoo工具自动生成一句话木马(webacoo -g -o 2.php)
5. 使用中国菜刀,获取webshell权限;
- 只要该后门没有被清除,都可以进行查看;
6. 当然,也可以做其他的操作,root账户下为所欲为;
7. 清除痕迹
(注:以下日志中记录的信息大多都是我之前采用ssh爆破记录的,大家可以查看对应的日志信息,找出有关记录自己登录目标靶机的日志进行删除即可)
7.1> 查看日志文件,选择要查看和清除的日志;
7.2> 查看身份认证的日志(auth.log)
cat /var/log/auth.log #查看身份认证日志
echo >/var/log/auth.log
- 可以看到日志中有很多的sshd爆破和来源IP地址:192.168.37.131(kali);这是因为我之前还去尝试了ssh爆破用户名和密码;
- 可以使用“echo >日志文件”,来清空日志的内容;
7.3> 查看错误登录日志(btmp)
last -f /var/log/btmp
- 该日志可以记录有人使用暴力破解ssh服务的日志;
- 该日志是一个二进制文件,不能用诸如cat、tail等查看,可以使用last/lastb查看;
- 删除日志如上所述;
7.4> 查看当前登录用户的详细信息(wtmp)
- 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。
- 该日志为二进制文件,不能用诸如tail/cat/等命令,可以使用last命令查看。
7.5> 登录失败的日志(faillog)
7.6> 最后一次登录的登录时间日志(lastlog)
Lastlog
- 最近的用户登录事件,一般记录最后一次的登录事件;
- 该日志不能用诸如cat、tail等查看,因为该日志里面是二进制文件,可以用lastlog命令查看;
- 它根据UID排序显示登录名、端口号(tty)和上次登录时间;
- 如果一个用户从未登录过,lastlog显示 Never logged;
- 若发现记录的时间不是用户上次登录的时间,这说明该账户已经被非法登录过;
7.7> 历史记录;
- /root/.bash_history文件保存了用户最近输入命令的记录;
1. wordpress是一个相对封闭和安全的博客系统,对于wordpress类站点的渗透攻击,
可以dir爆目录,发现敏感信息;
进入后台,Appearance页面404.php挂马,菜刀连接,反弹shell,提权等;
2. 如果目标靶机开放了139,445端口,可以使用enum4linux枚举靶机信息,利用远程挂载,查看共享信息;
3. 若获取的shell用户账号在sudo组内,可直接使用sudo命令进行提权;
4. 查看目标的网站系统,对于dirb扫描出来的网站目录信息要进行验证,会发现突破口,注意留意疑似用户名和密码的信息;