【渗透测试】VulnHub-DerpNStink: 1

VulnHub-DerpNStink: 1

  • VulnHub-DerpNStink: 1渗透测试详细流程
  • 小知识点
    • 一、解决john不能开多个进程/文件被锁定 的问题
  • 常用工具
    • 一、hashcat:密码破解工具
    • 二、Netcat:网络测试工具

VulnHub-DerpNStink: 1渗透测试详细流程

参考博客:https://mp.weixin.qq.com/s/LSsWSmzVRNETDsd2RImjTA
参考博客:https://www.cnblogs.com/darklee/p/14408010.html

这台靶机很明显感觉有了难度,从第三个flag开始,ssh+ftp+msf+各种工具,特别是开膛手爆破和nc传输文件的时候总是失败,好在找到了问题的解决方法

渗透思路
信息收集,nmap找ip以及开放的端口:21(ftp)、22(ssh)、80(http)
访问web页面,查看源代码找到flag1。继续寻找,看到一个txt文件,提示只有更新本地的dns服务,才能访问博客
将ip写入hosts中,然后爆破目录找到博客页面,寻找有用信息。
发现是一个WordPress搭建的博客,直接访问/weblog/wp-admin/目录,默认账号密码登陆成功,发现flag2
用wpscan扫描找到Slideshow Gallery漏洞利用点,利用msf进行攻击,创建会话,找到配置文件config.php发现数据库账号密码。
获取pty登陆数据库。发现第二个账户信息,利用开膛手john爆破
注意,这里要利用rockyou.txt,新版本的kali自带压缩包,需要手动解压一下,破解速度慢,可多进程破解
破解密码成功后登陆,寻找flag3时,找到了底层的两个用户,利用刚刚破解的密码进行ftp登陆,在一堆文件里找到秘钥
ssh秘钥登陆,在桌面文件里找到flag3。继续寻找有一个.pcap文件,下载到本地,wireshark打开进行流量分析

小知识点

一、解决john不能开多个进程/文件被锁定 的问题

在使用john进行shadow文件破解时,如果已经开了一个john的进程,这回提示以下错误:

【渗透测试】VulnHub-DerpNStink: 1_第1张图片

Crash recovery file is locked: /root/.john/john.rec

意思是/root/.john/john.rec文件被锁定。

通过测试只要把 /root/.john/john.rec这个文件删除就不会报错了。

所以可以通过 watch rm -rf /root/.john/john.rec 命令。每两秒删除一次这个文件。

再开多个进程进行shadow文件批量破解即可。建议一次不要开太多。

【渗透测试】VulnHub-DerpNStink: 1_第2张图片

常用工具

一、hashcat:密码破解工具

参数

下面使常见的参数,想了解更多的参数可以hashcat --help查看

-a  指定要使用的破解模式,其值参考后面对参数。“-a 0”字典攻击,“-a 1” 组合攻击;“-a 3”掩码攻击。
-m  指定要破解的hash类型,如果不指定类型,则默认是MD5
-o  指定破解成功后的hash及所对应的明文密码的存放位置,可以用它把破解成功的hash写到指定的文件中
--force 忽略破解过程中的警告信息,跑单条hash可能需要加上此选项
--show  显示已经破解的hash及该hash所对应的明文
--increment  启用增量破解模式,你可以利用此模式让hashcat在指定的密码长度范围内执行破解过程
--increment-min  密码最小长度,后面直接等于一个整数即可,配置increment模式一起使用
--increment-max  密码最大长度,同上
--outfile-format 指定破解结果的输出格式id,默认是3
--username   忽略hash文件中的指定的用户名,在破解linux系统用户密码hash可能会用到
--remove     删除已被破解成功的hash
-r       使用自定义破解规则

攻击模式:

# | Mode

 ===+======
  0 | Straight(字段破解)
  1 | Combination(组合破解)
  3 | Brute-force(掩码暴力破解)
  6 | Hybrid Wordlist + Mask(字典+掩码破解)
  7 | Hybrid Mask + Wordlist(掩码+字典破解)

输出格式

1 = hash[:salt]
2 = plain
3 = hash[:salt]:plain
4 = hex_plain
5 = hash[:salt]:hex_plain
6 = plain:hex_plain
7 = hash[:salt]:plain:hex_plain
8 = crackpos
9 = hash[:salt]:crackpos
10 = plain:crackpos
11 = hash[:salt]:plain:crackpos
12 = hex_plain:crackpos
13 = hash[:salt]:hex_plain:crackpos
14 = plain:hex_plain:crackpos
15 = hash[:salt]:plain:hex_plain:crackpos

更多看这里:https://blog.csdn.net/SHIGUANGTUJING/article/details/90074614

二、Netcat:网络测试工具

Netcat 是一款简单的Unix工具,使用UDP和TCP协议。 它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 使用它你可以轻易的建立任何连接。

nc命令的作用

  • 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
  • 端口的扫描,nc可以作为client发起TCP或UDP连接
  • 机器之间传输文件
  • 机器之间网络测速

常用参数

-l    用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
-p    暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
-s    指定发送数据的源IP地址,适用于多网卡机
-u    指定nc使用UDP协议,默认为TCP
-v    输出交互或出错信息,新手调试时尤为有用
-w    超时秒数,后面跟数字

常见操作

nc -l 9999    
# 开启一个本地9999的TCP协议端口,由客户端主动发起连接,一旦连接必须由服务端发起关闭
nc -vw 2 192.168.21.248 11111
#通过nc去访问192.168.21.248主机的11111端口,确认是否存活;可不加参数
nc -ul 9999                       
# 开启一个本地9999的UDP协议端口,客户端不需要由服务端主动发起关闭
nc 192.168.21.248 9999 < test     
# 通过192.168.21.248的9999TCP端口发送数据文件
nc -l 9999 > zabbix.file          
# 开启一个本地9999的TCP端口,用来接收文件内容

测试网速
A机器操作如下:
yum install -y dstat    # A机器安装dstat命令
nc -l 9999 > /dev/null
B机器开启数据传输:nc 10.0.1.161 9999 file

栗子:nc -l 10086 >zabbix.rpm

步骤2,在A机器上往B机器的10086端口发送数据,把下面rpm包发送过去

nc 192.168.0.2 10086 < zabbix.rpm

B机器接收完毕,它会自动退出监听,文件大小和A机器一样,md5值也一样

你可能感兴趣的:(VulnHub渗透测试,linux,渗透测试,安全)