OS/Solaris
0420 공부정리 명령어 추가 정리
dp.
2011. 4. 26. 00:55
# uname -X
System = SunOS
Node = sol-25
Release = 5.10
KernelID = Generic_142910-17
Machine = i86pc
BusType = <unknown>
Serial = <unknown>
Users = <unknown>
OEM# = 0
Origin# = 1
NumCPU = 1
# unma
unma: 없음
#
# uname -a
SunOS sol-25 5.10 Generic_142910-17 i86pc i386 i86pc
# id
uid=0(root) gid=0(root)
#
#
# groups
root other bin sys adm uucp mail tty lp nuucp daemon
# id -a
uid=0(root) gid=0(root) groups=0(root),1(other),2(bin),3(sys),4(adm),5(uucp),6(mail),7(tty),8(lp),9(nuucp),12(daemon)
# users
root root
# w
1시51분오후 현재 가동중 19분, 2 사용자, 로드 평균: 0.16, 0.23, 0.27
사용자 터미늘 로그인시간 휴지 JCPU PCPU 활동
root console 1시41분오후 11 16 /usr/bin/gnome-session
root pts/3 1시44분오후 3 3 3 sh
# who
root console 4월 19일 13:41 (:0) //접속을 위해서
root pts/3 4월 19일 13:44 (:0.0) // ip address
# finger
Login Name TTY Idle When Where
root Super-User console Tue 13:41 :0
root Super-User pts/3 Tue 13:44 :0.0
#
/var/adm/utmpx 은 접속자의 아이피 주소가 기록되고 수정이 불가한 파일이라, 공격자가 삭제하는 파일중 하나다
======>>>> w, who
finger 은 각 접속한 사용자의 정보 현황을 알 수 있다. 조작된 정보로 부터 결과를 가져오기 때문에 현업에선 사용안함
예 > finger -lmp (메일확인했는지)
분석적인 접근 = 평균을 항상 인지 하고 있다가 이상이 있으면 확인
df 는 파티션의 용량을 확인,,, 관리자가 평소 확인해 놓고 있다가. 늘어난 경우 조치를 취할 수 있다.
# uptime
2시20분오후 현재 가동중 47분, 2 사용자, 로드 평균: 0.14, 0.12, 0.17 (5분전, 10분전, 15분전 cpu로드)
#
이후 이상이 있으면 메모리 사용량을 확인해 볼 수 가 있다.
prstat현재 메모리에서 돌아가는 프로세스의 현황 보기
# prstat
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
734 root 34M 27M sleep 24 0 0:00:53 5.3% Xorg/1
1847 root 192M 36M sleep 44 0 0:00:24 2.1% gedit/1
1814 root 155M 23M sleep 59 0 0:00:08 0.8% gnome-terminal/2
1426 root 67M 9972K sleep 59 0 0:00:18 0.7% mixer_applet2/1
1896 root 5076K 2884K cpu0 59 0 0:00:00 0.4% prstat/1
1189 root 122M 17M sleep 47 0 0:00:03 0.3% metacity/1
884 noaccess 127M 117M sleep 59 0 0:00:29 0.3% java/18
1422 root 98M 16M sleep 59 0 0:00:02 0.3% wnck-applet/1
955 root 37M 33M sleep 59 0 0:00:10 0.3% iiimd/6
1236 root 138M 31M sleep 59 0 0:00:06 0.3% gnome-panel/1
1410 root 50M 46M sleep 59 0 0:00:17 0.2% java/30
958 root 12M 9828K sleep 59 0 0:00:08 0.2% gconfd-2/1
1424 root 70M 13M sleep 59 0 0:00:04 0.1% gnome-netstatus/1
1051 root 119M 14M sleep 59 0 0:00:01 0.1% compo
q : 빠져나오기
각 컴퓨터를 구별하는것은 맥주소
포트 = >서비스 => 프로세스 (순방향은 맞지만 역방향은 아닐수도있다)
# netstat -na | more 에서 포트번호 확인하기
TCP: IPv4
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ----- ------ ----- ------ -----------
*.* *.* 0 0 49152 0 IDLE
*.111 *.* 0 0 49152 0 LISTEN
*.* *.* 0 0 49152 0 IDLE
*.32771 *.* 0 0 49152 0 LISTEN
*.32772 *.* 0 0 49152 0 LISTEN
*.4045 *.* 0 0 49152 0 LISTEN
127.0.0.1.5987 *.* 0 0 49152 0 LISTEN
127.0.0.1.898 *.* 0 0 49152 0 LISTEN
127.0.0.1.32773 *.* 0 0 49152 0 LISTEN
127.0.0.1.5988 *.* 0 0 49152 0 LISTEN
127.0.0.1.32774 *.* 0 0 49152 0 LISTEN
*.32775 *.* 0 0 49152 0 LISTEN
*.7100 *.* 0 0 49152 0 LISTEN
*.32776 *.* 0 0 49152 0 LISTEN
*.32777 *.* 0 0 49152 0 LISTEN
*.32778 *.* 0 0 49152 0 LISTEN
*.32779 *.* 0 0 49152 0 LISTEN
*.22 *.* 0 0 49152 0 LISTEN
*.32780 *.* 0 0 49152 0 LISTEN
*.6481 *.* 0 0 49152 0 LISTEN
*.6112 *.* 0 0 49152 0 LISTEN
*.21 *.* 0 0 49152 0 LISTEN
*.23 *.* 0 0 49152 0 LISTEN
*.79 *.* 0 0 49152 0 LISTEN
*.513 *.* 0 0 49152 0 LISTEN
*.514 *.* 0 0 49152 0 LISTEN
*.32781 *.* 0 0 49152 0 LISTEN
*.* 은 어느 아이피라도 접속가능함
이스테블리시드나 릴레이티드상태면 통신한다
estabilishd 와 권한이 뚫리면 해킹된것
관리자가 통신상태에 대해 숙지하고 있어야 한다.
관리자가 통신상태에 대해 숙지하고 있어야 한다.
lsof
pgrep
# ps -ef |grep ssh
root 552 1 0 13:34:01 ? 0:00 /usr/lib/ssh/sshd
# cd /proc/552
# ls
as contracts ctl fd lpsinfo lusage map pagedata priv rmap sigact usage xmap
auxv cred cwd ldt lstatus lwp object path psinfo root status watch
# ls
as contracts ctl fd lpsinfo lusage map pagedata priv rmap sigact usage xmap
auxv cred cwd ldt lstatus lwp object path psinfo root status watch
# ls -al
총 8278
dr-x--x--x 5 root root 864 4월 19일 13:34 .
dr-xr-xr-x 89 root root 130496 4월 19일 15:05 ..
-rw------- 1 root root 4067328 4월 19일 13:34 as
-r-------- 1 root root 168 4월 19일 13:34 auxv
dr-x------ 2 root root 32 4월 19일 13:34 contracts
-r-------- 1 root root 32 4월 19일 13:34 cred
--w------- 1 root root 0 4월 19일 13:34 ctl
lr-x------ 1 root root 0 4월 19일 13:34 cwd -> ///루트권한으로 실행되고있다 를 보여줌
dr-x------ 2 root root 144 4월 19일 13:34 fd
-r-------- 1 root root 0 4월 19일 13:34 ldt
-r--r--r-- 1 root root 120 4월 19일 13:34 lpsinfo
-r-------- 1 root root 816 4월 19일 13:34 lstatus
-r--r--r-- 1 root root 536 4월 19일 13:34 lusage
dr-xr-xr-x 3 root root 64 4월 19일 13:34 lwp
-r-------- 1 root root 5280 4월 19일 13:34 map
dr-x------ 2 root root 1056 4월 19일 13:34 object
-r-------- 1 root root 6560 4월 19일 13:34 pagedata
dr-x------ 2 root root 1200 4월 19일 13:34 path
-r-------- 1 root root 72 4월 19일 13:34 priv
-r--r--r-- 1 root root 336 4월 19일 13:34 psinfo
-r-------- 1 root root 5280 4월 19일 13:34 rmap
lr-x------ 1 root root 0 4월 19일 13:34 root -> ///루트권한으로 실행되고있다를 보여줌
-r-------- 1 root root 1536 4월 19일 13:34 sigact
-r-------- 1 root root 1136 4월 19일 13:34 status
-r--r--r-- 1 root root 256 4월 19일 13:34 usage
-r-------- 1 root root 0 4월 19일 13:34 watch
-r-------- 1 root root 8360 4월 19일 13:34 xmap
===========================================
신뢰하는 포트와 서비스를 끝까지 확인하는 방법!
ps로 확인하고 pmap으로 맵을 확인해서 마지막까지 신뢰할 수 있는 서비스를 확인한다. 그래야 완벽히 안전함을 증명 , 이후 과정은 리버싱
netstat 로 열린 포트 확인하고 해당포트의 서비스 확인
--> ps -ef | grep 으로 프로세서 ID확인
--> cd /proc/ID번호
--> pmap ID번호 (여기서 참고하는 모든 라이브러리를 보여줌)
--> ps -ef | grep 으로 프로세서 ID확인
--> cd /proc/ID번호
--> pmap ID번호 (여기서 참고하는 모든 라이브러리를 보여줌)
# ls -al *map
-r-------- 1 root root 5280 4월 19일 13:34 map
-r-------- 1 root root 5280 4월 19일 13:34 rmap
-r-------- 1 root root 8360 4월 19일 13:34 xmap
# pmap 552 | more
552: /usr/lib/ssh/sshd
08045000 12K rw--- [ stack ]
08050000 308K r-x-- /usr/lib/ssh/sshd
080AD000 12K rw--- /usr/lib/ssh/sshd
080B0000 60K rw--- [ heap ]
D0AD0000 8K r-x-- /usr/lib/locale/ko/methods_ko.so.3
D0AE1000 4K rwx-- /usr/lib/locale/ko/methods_ko.so.3
D0AF0000 60K r-x-- /usr/lib/locale/ko/ko.so.3
D0B0E000 8K rwx-- /usr/lib/locale/ko/ko.so.3
D0B20000 40K r-x-- /usr/sfw/lib/libcrypto_extra.so.0.9.7
D0B3A000 4K rw--- /usr/sfw/lib/libcrypto_extra.so.0.9.7
D0B40000 28K r-x-- /lib/libnvpair.so.1
D0B57000 4K rw--- /lib/libnvpair.so.1
D0B60000 12K r-x-- /lib/libsecdb.so.1
D0B73000 4K rw--- /lib/libsecdb.so.1
D0B80000 56K r-x-- /lib/libmd.so.1
D0B9E000 4K rw--- /lib/libmd.so.1
D0BA0000 1080K r-x-- /lib/libc.so.1
D0CBE000 32K rwx-- /lib/libc.so.1
D0CC6000 8K rwx-- /lib/libc.so.1
D0CD0000 16K r-x-- /lib/libcontract.so.1
D0CE4000 4K rw--- /lib/libcontract.so.1
D0CF0000 12K r-x-- /lib/libcmd.so.1
D0D03000 4K rw--- /lib/libcmd.so.1
D0D10000 44K r-x-- /usr/lib/libgss.so.1
D0D2B000 4K rw--- /usr/lib/libgss.so.1
D0D30000 948K r-x-- /usr/sfw/lib/libcrypto.so.0.9.7
D0E2D000 80K rw--- /usr/sfw/lib/libcrypto.so.0.9.7
D0E41000 8K rw--- /usr/sfw/lib/libcrypto.so.0.9.7
D0E50000 24K r-x-- /usr/sfw/lib/libwrap.so.1.0
D0E60000 4K r--s- dev:293,3 ino:450694984
D0E66000 4K rw--- /usr/sfw/lib/libwrap.so.1.0
D0E67000 4K rw--- /usr/sfw/lib/libwrap.so.1.0
D0E70000 116K r-x-- /lib/libbsm.so.1
D0E90000 24K rwx-- [ anon ]
D0E9D000 20K rw--- /lib/libbsm.so.1
D0EA2000 4K rw--- /lib/libbsm.so.1
D0EB0000 24K r-x-- /lib/libpam.so.1
D0EC0000 4K rwx-- [ anon ]
D0EC6000 4K rw--- /lib/libpam.so.1
D0ED0000 60K r-x-- /usr/lib/libz.so.1
D0EE0000 4K rwx-- [ anon ]
D0EEE000 4K rwx-- /usr/lib/libz.so.1
D0EF0000 516K r-x-- /lib/libnsl.so.1
D0F81000 20K rw--- /lib/libnsl.so.1
D0F86000 32K rw--- /lib/libnsl.so.1
D0F90000 44K r-x-- /lib/libsocket.so.1