DeRPnStiNK靶机渗透
从网上找了DeRPnStiNK靶机作为实验环境,针对初学者,我们通过这个靶机进行渗透实验。
网上下载好靶机后,直接通过虚拟机打开进行,网卡配置使用默认的桥接模式就行,这里注意自己的kali攻击机也必须是桥接模式下,保证与被攻击服务器之间可正常通信。首先在不确定被攻击服务器地址的情况下,我们要进行主机发现,查看自己的IP地址为:192.168.50.76,如图所示:
使用nmap或者netdiscover进行网络发现,命令如下:nmap –sP192.168.50.0/24(这里的-sP主要进行主机发现,会跳过端口扫描和其他一些检测)或者netdiscover –r 192.168.50.0/24。发现我们被攻击服务器的IP地址如图所示:
在我们找到服务器的IP地址后,使用nmap –A<目标IP>进行扫描,发现开放了21、22、80等端口,如图所示:
我们通过浏览器可以访问http服务,观察里面有什么内容。如下是我们所观察到的页面:
在拿到一个不能提供给我们更多信息页面的时候,我们第一步可以查看页面源代码信息,(如果是图片等内容,我们使用右键点击页面后不出来查看源代码信息,我们就使用view-source):查看页面源代码信息,如图所示,在源代码种找到一条flag信息:
我们在通过其他的访问找寻更过有用的信息,如图:
我们通过webnotes/info.txt文件查看到下面一句话:stinky, make sure to update your hosts file with local dns so the new derpnstink blog can be reached before it goes live。这句话说的意思是确保本地的dns更新后,才可访问derpnstink博客信息。
通过找寻各种路径发现未能有更好的敏感信息供我们利用,在所提供的目录和链接当中未找到可用信息后,接下来我们可以尝试进行目录扫描,利用命令:dirb <目标站点>或者御剑工具进行扫描。在扫描完成后,我们会发现weblog这个敏感路径。尝试访问该路径,发现域名跳转如下,利用上面的提示信息,我们尝试到host文件中添加域名解析。Kali下的host文件在/etc/hosts。
添加hosts值,如图所示:
我们在添加完hosts值后访问weblog目录,发现可正常访问。
那么我们接下来要做的是什么呢?通过观察可以发现这是一个wordpress博客,尝试通过wordpress默认管理后台访问。默认后台路径:wp-login.php,在获取到后台路径后,我们一般需要进行弱口令探测。尝试使用admin/admin进行登录,发现成功进入后台。
接下来可以利用wordpress扫描工具,进行漏洞发现,kali下利用wpscan,如图所示:(注意wpscan扫描时候的路径)wpscan –url http://derpnstink.local/weblog/
标记出来的版本信息,这里我们应用对应的漏洞信息。在metasploit里会有对应的漏洞利用模块。我们启用msfconsole,查找对应的模块wp_slideshowgallery_upload。使用命令search wp_slideshowgallery_upload。在找到模块后使用use命令进行加载。如图所示:
使用options查看配置项,根据自己的目标机器进行配置,如图所示:
如下,我们获取到了一个shell:可以对其中的敏感文件进行查看。
注意,在我们在做日常渗透的过程中,发现config等文件必须要去查看里面是否有必要的信息,如图,我们可以在weblog/wp-config.php中获取到数据库用户名和密码信息:
我们在通过dirb或者御剑进行目录扫描的时候会发现php/phpmyadmin路径。这是php-study的数据库web后台。利用我们刚才找到的用户名密码进行登录root/admin。
在数据库中我们会发现flag2。以及wp_users中的用户名密码hash值。
在kali下集成了好多工具,我们获取到一串加密的hash值后,尝试通过hash-identifier来分析它的加密类型。注意,该工具不是破解工具,只是用来判断加密类型。如图所示:
使用john进行密码破解,这里基于的rockyou.txt是kali自带的。使用wedgie57密码进行ftp登录。
通过连接工具,(我用的Mobaxterm,xshell等都可以)通过ftp访问目标主机。可以找到2个文件:一段对话和一个ssh登录密钥文件(在ssh文件夹,名称为key,肯定是ssh登录密钥文件啦)
利用ssh密钥进行登录,我们把密钥信息保存下来,通过ssh –i进行登录。如图所示:
通过ssh连接进入系统后,查看文件就会发现flag.txt。如图所示:
我们发现另外的一个敏感文件derpissues.pcap数据包文件。可以通过wireshark进行数据包分析,查看里面包含什么信息。
在使用scp进行文件传输,具体命令如下:
启动wireshark直接打开derp.pcap文件。因为包比较多,过滤一下http协议数据包,(这里为什么要过滤http数据包,因为在上述我们找到的对话中发现有可能该用户进行新的用户添加,必要登录weblog/wp-admin。所以尝试先过滤http协议,通过查看get,post等请求。找提交的信息。我们发现用户和pwd密码字段明文显示:Form item: "pwd" = "derpderpderpderpderpderpderp"。
尝试通过ssh使用mrderp用户建立新连接:如图所示:
我们会在helpdesk.log中查看到一串信息:并发现该问题处理是sudo用户处理的。所以我们尝试去使用sudo命令。
通过sudo –l我们查看一下自己所拥有的权限,如图所示:
即mrderp用户只能在binaries目录下执行derpy*文件时使用sudo。所以我们在对应目标目录下创建binaries文件夹和derpy.sh可执行文件。需要将derpy.sh文件修改为可执行权限,使用sudo执行。提权成功root
查看root用户文件,找到flag。