반응형

출처: http://unix.stackexchange.com/questions/122676/how-to-mount-an-remote-filesystem-with-specifying-a-port-number

http://devanix.tistory.com/257



방법1)

sshfs -p 42224 -C user@server:/ ~/sshfs/


방법2)

 sudo mount -o port=1122 -t nfs 11.11.11.111:/some_directory /mnt/test/




NFS를 사용하여 원격 디렉토리 공유

 

설치 : sudo apt-get install nfs-kernel-server

 

▶ exportfs : 모든 공유서버에서 해당 디렉토리 보여줌.

$ sudo /usr/sbin/exportfs -v

/export/myshare

client.example.com(ro,wdelay,root_squash,no_subtree_check)

/mnt/public

<world>(rw,wdelay,root_squash,no_subtree_sheck)

☞ (ro) : 읽기만 가능, (rw) : 읽고/쓰기 마운트

☞ (wdelay) : 공유에 더 쓰기가 예상될 때 성능 향상을 지연

☞ (root_squash) : 클라이언트 root 유저로부터 요청은 익명 사용자 UID를 맵핑

☞ (no_subtree_check) : 파일시스템 퍼미션 체크가 덜 이루어진다.

 

▶ NFS 공유 디렉토리 추가/수정

$ sudo /etc/init.d/nfs-kernel-server reload

공유 디렉토리 익스포트 reload

$ sudo exportfs -r

공유 디렉토리 익스포트 reload

$ sudo exportfs -rv

exporting client.example.com:/export/myshare

exporting *:/mnt/public

익스포트 공유의 자세한 reload

 

▶ showmount : 공유 디렉토리 출력

/* 리눅스 서버 시스템에서, 로컬 시스템이 사용하는 공유 디렉토리 출력 */

$ sudo showmount -e

Export list for server.example.com

/export/myshare client.example.com

/mnt/public *

/* 리눅스 시스템 클라이언트에서, 선택한 컴퓨터가 사용하는 공유 디렉토리 출력*/

$ sudo showmount -e server.example.com

/export/myshare client.example.com

/mnt/public *

 

 

◎ NFS 공유 마운트

▶ mount 명령을 사용하여 NFS 공유 마운트

$ sudo mkdir /mnt/server-share

$ sudo mount server.example.com:/export/myshare /mnt/server-share

 

▶ mount 명령어에 NFS의 특별한 옵션 추가. (-o)

$ sudo mount -o rw,hard,intr server.example.com:/export/myshare /mnt/server-share

 

기본적으로, NFS 버전3 프로토콜은 공유를 연결하는데 사용.

NFS버전4를 사용하려면, 인터넷과 방화벽을 통해 작동하도록 설계.

커맨드라인에 있는 파일시스템 유형은 다음과 같은 프로토콜을 나타낸다.

$ sudo mount -t nfs4 server.example.com:/ /mnt/server-share

 

 

 

 

삼바를 사용하여 원격 디렉토리 공유

♧ 삼바는 윈도우 파일의 오픈소스 구현이고 서버 메시지 블록(SMB)으로 알려진 인쇄 공유 프로토콜 이고

지금 일반 인터넷 파일 시스템(CIFS)이라고 한다.

삼바를 사용하려면 sambasamba-doc 패키지 설치.

 

웹기반 관리 툴 : SWAT(swat 패키지 설치) 이 삼바에 포함.

SWAT 시작하는 방법에 대한 내용 : https://help.ubuntu.com/community/Swat

 

◎ 삼바 공유 보기와 액세스

▶ SMB 호스트 네트워크 스캔

$ findsmb

■■■■■■■■■■■*=DMB

■■■■■■■■■■■+=LMB

IP ADDR■■■NETBIOS NAME■■WORKGROUP/OS/VERSION

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

192.168.1.1■■SERVER1■■■■+[MYWORKGROUP] [Unix] [Samba 3.0.25a-3.fc7]

 

▶ smbtree를 사용하여 네트워크 neighborhood(프린터 및 공유 디렉토리)의 텍스트 표현

$ smbtree

Password: ******

WORKGROUP

■■■\\THOMPSON

■■■■\\THOMPSON\

■■■■■\\THOMPSON\IPC$

 

▶ smbpasswd 명령을 사용하여 기존 리눅스 유저에 삼바 유저를 추가.

$ sudo smbpasswd -a devanix

New SMB password: ******

Retype new SMB password: ******

Added user devanix

☞ 암호를 요청하여 어떤 명령어를 수행하기 위한 삼바 패스워드 설정이 필요.

 

▶ 서버에서 익명 사용에게 서비스 목록을 제공.

$ smbclient -L WIN2003srv

password: ******

Anynymous login successful

Domain=[WIN2003] OS=[Windows Server 2003 3790 Service Pack 2] Server=[Windows…]

tree connect failed: NT_STATUS_LOGON_FAILURE

 

▶ 특정 유저를 smbclient로 출력

$ smbclient -L WIN2003srv -U administrator

Enter administrator's password:

Domain=[WIN2003] OS=[Windows Server 2003 3790 Service Pack 2] Server=[Windows…]

■■■Sharename■■Type■■Comment

■■■---------■■■----■■■-------

■■■print$■■■■Disk■■■프린터 드라이버

■■■C$■■■■■ Disk■■■ 기본 공유

■■■F$■■■■■ Disk ■■■기본 공유

■■■IPC$■■■■ IPC■■■■원격 IPC

 

▶ FTP 유형으로 삼바 공유에 연결

$ smbclient //192.168.1.1/myshare -U devanix

Password:

Domain=[WIN2003] OS=[Windows Server 2003 3790 Service Pack 2] Server=[Windows…]

smb: \>

 

대부분의 FTP 클라이언트에서 사용할 수 있는 명령어를 보려면 help 또는 ? 입력.

SMB 호스트에서 cd, ls, get, put, quit 같은 쉘 타입 명령어를 사용할 수 있다.

 

◎ 삼바 공유 마운트

▶ 로컬 혹은 원격 NFS 파일시스템에서 로컬 파일시스템으로 원격 삼바 공유를 마운트

$ sudo mount -t smbfs -o username=devanix,password=MySecret \

//192.168.1.1/myshare /mnt/mymount/

 

▶ smbstatus : 서버의 현재 연결과 잠금 파일을 볼 수 있다

$ sudo smbstatus

 

▶ nmblookup : 컴퓨터의 IP 어드레스를 결정

$ nmblookup thompson

querying Thompson on 192.168.1.255

192.168.1.1 server1<00>

 

▷ -U : 특정 서브넷에서 서버의 IP 어드레스를 발견

$ nmblookup -U 192.168.1.255 server1

querying server1 on 192.168.1.255

192.168.1.1 server1<00>

 

▶ 삼바 구성 파일(smb.conf) 체크

$ testparm

Load smb config files from /etc/samba/smb.conf

Processing section "[homes]"

☞ 삼바 공유를 사용할 수 없거나 삼바 서버 통신에 다른 어떤 문제가 있다면 삼바 구성을 테스트.

☞ smb.conf 이외의 파일에 testparm을 사용 : $ testparm /etc/samba/test-smb.conf

 

 

 

 

SSHFS를 사용하여 원격 디렉토리 공유

♧ SSH 프로토콜을 통해 또 다른 트릭으로 원격파일시스템을 마운트한다.

ssh 파일시스템(sshfs)을 사용하여 SSH 서버에서 유저 계정을 해당 로컬 리눅스 시스템에 액세스할 수 있는

디렉토리를 마운트할 수 있다. sshfs는 모든 데이터의 전송뿐만 아니라 마운트할 때 암호화를 제공.

 

sshfs의 또 다른 멋진 측면은 서버 측면에서 SSH 서비스를 실행하는 이외에 별다른 설정이 필요하지 않다.

 

▶ 원격 서버에서 로컬 디렉토리로 문서의 디렉토리를 마운트.

$ sudo apt-get install sshfs

sshfs 소프트웨어 설치

$ sudo mkdir /mnt/docs

마운트 지점 생성

$ sudo sshfs devanix@10.0.0.50:/var/docs /mnt/docs

원격 디렉토리 마운트

 

▶원격 디렉토리를 사용했을 때, fusermount 명령어로 언마운트.

$ sudo fusermount -u /var/docs

원격 디렉토리 언마운트

 


반응형
반응형

출처:http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%A2%85%EB%A5%98_%ED%99%95%EC%9D%B8,_%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B2%84%EC%A0%84_%ED%99%95%EC%9D%B8


;리눅스 종류 확인하기
;리눅스 버전 확인하기
;리눅스 배포판 확인하기

==개요==
*어떤 리눅스를 사용하고 있는가?
*리눅스 배포판의 이름과 버전, 리눅스 커널 버전을 모두 답하는 것이 가장 정확하다.<ref>리눅스 서버관리 실무 바이블 3.0 p.89</ref>
*리눅스 배포판 목록: http://ko.wikipedia.org/wiki/리눅스_배포판

 

 

==배포판 버전 확인==


===방법 1: /etc/*-release===
;명령어
grep . /etc/*-release
cat /etc/*-release | uniq

 

===방법 2: /etc/issue*===
;명령어
grep . /etc/issue*

* 배포판의 버전을 가장 쉽게 확인할 수 있는 방법이다.
* 보안 등의 이유로 다른 내용으로 바뀌어 있는 경우도 있다.

 

===방법 3: rpm (레드햇계열)===

rpm -qa *-release
</source>

;실행예시 (CentOS 6.2)
<source lang='console'>
[root@zetawiki ~]# rpm -qa *-release
centos-release-6-2.el6.centos.7.x86_64
</source>

;실행예시 (Fedora 11 Leonidas)
<source lang='console'>
[root@zetawiki ~]# rpm -qa *-release
fedora-release-11-1.noarch
</source>

;실행예시 (Oracle Enterprise Linux Server 5.5)
<source lang='console'>
[root@zetawiki ~]# rpm -qa *-release
enterprise-release-5-0.0.22
</source>

;실행예시 (SUSE Linux Enterprise Server 11)
<source lang='console'>
zetawiki:~ # rpm -qa *-release
sles-release-11.1-1.152
lsb-release-2.0-1.2.18
</source>

 

==커널 버전 확인==


===방법 1: uname===
{{참고|리눅스 커널 버전 확인}}

uname -r


===방법 2: /proc/version (레드햇 계열)===
[root@CentOS64 ~]# cat /proc/version
Linux version 2.6.32-358.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Fri Feb 22 00:31:26 UTC 2013

 

 

반응형
반응형

출처: http://c8korea.blogspot.kr/2013/04/metasploit-exploits-modules.html

 

종종 꽤 쓸한만 exploit 소스코드와 모듈 발견 시 어케 사용할까 하는 사람들이 있을 것이다. 아래 링크에 아주 졸라 상세하게 나와 있으니 참조 바란다.

주의
빽트랙 버전, Metasploit 버전마다 추가 방법이 틀리니 구글링해서 맞는 방법을 찾아야한다.

본좌의 버전

현재 metasploit 버전과 exploit 가 몇개 있고, auxiliary가 몇개 있는지 확인 할려면 아래와 같이 명령을 날린다.

msf > banner 

# cowsay++
 ____________
< metasploit >
 ------------
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| *


       =[ metasploit v4.5.0-dev [core:4.5 api:1.0]
+ -- --=[ 927 exploits - 499 auxiliary - 151 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15732 updated 237 days ago (2012.08.13)



방법


0x01 metasploit 업데이트

업데이트 방법은 2가지가 있다. 아래와 같이 방벋대로 수행한다.

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade         // 의존성 관련 부분을 지능적으로 처리하여 업데이트
# msfupdate 위의 4개 명령을 하나로 묶어서 

#apt-get update && apt-get upgrade && apt-get dist-upgrade && msfupdate

주의
업데이트 중 뻘짓하다 보면 에러가 난다. svn cleanup해도 lock 되었다나 뭐다나 나올 수도 있다. 내가 그랬다.
뻘짓하지 말자!! 이런 경우 걍 다시 설치..OTL


root@bt:~# apt-get purge framework
root@bt:~# apt-get update
root@bt:~# apt-get install framework



0x02 exploit-db 업데이트하기
exploit-db 디렉토리인 /pentest/exploits/exploit-db로 이동한 후 exlploit-db를 아래처럼 입력하여 업데이트 한다.
#svn update

0x03 searchsploit 스크립트 실행 

exploit-db 디렉토리에서 "searchsploit" 스크립트를 실행하고 추가하고자 하는 exploit가 있는지 검사한다. exploit 소스코드는 ruby로 작성되어 있다.

0x04 자신이 만든 .rb파일 확인

vi 또는 nano와 같은 text 편집기로 .rb 파일을 열어 보면 아래와 같은 Msf class 구조로 되어 있는것을 볼 수 있을 것이다.

Msf::Exploit::Remote:: .

뭐 이런 구로되 되어 있어야 한다.

0x04 새로운 디렉토리 만들기

홈디렉토리에 가면(#cd ~)  .msf4(또는 msf3) 로 된 숨은 디렉토리를 발견할 것이다. 
숨어 있기에 ls -a로 본다.

이 디렉토리 밑에 보면 "modules"라는 디렉토리가 보일 것이다.
만일 없다면 만든다.

modules 디렉토리 밑에 "exploits" 라는 서브 디렉토리를 만든다.

여기 밑에 또 "Remote"라는 exploit 내에 서브폴더를 만든다.

주의 : 너가 만든 새로운 디렉토리는 exploit내에 msf class로 일치해야 한다. 그렇지 않으면 작동하지 않는다. exploit 내부에 msf class 구조가 있는지 그리고 필요로 하는 디렉토리가 있는지 점검하라.

새로운 디렉토리에 너가 만든 exploit 파일을 넣는다. 예를 들어 proftp가 Remote 서브폴더에 위치해야 한다.
msfconsole 또는 armitage를 통해 새로 추가된 exploit가 있는지 찾아봐야 한다.
exploit가 추가되기 전에 이 exploit가 뭔 용도로 쓰이는지 exploit 이름을 바꿔주는게 정신건강에 좋다.




참조링크
https://community.elearnsecurity.com/index.php?/topic/756-tutorial-adding-exploits-to-metasploit-framework/
http://www.youtube.com/watch?v=uJgOXmsGqSk

반응형
반응형

출처: http://nopsled.tistory.com/41

 

Metasploit을 커스텀 마이징을 하는 방법은 대략 세 가지로 나눌 수 있습니다.

1. exploit-db.com에서 구하는 방법

2. https://github.com/rapid7/metasploit-framework에서 구하는 방법

3. 자신이 직접 exploit code를 만들어 업데이트 시키는 방법


저는 github에 올라와 있는 wireshark_mpeg_overflow를 Metasploit에 추가하려 합니다.


exploit code는 BTR5 R3 기준으로 /opt/metasploit/msf3/modules/exploits/에 있습니다.


exploit code를 분류하여 mv해주시면 됩니다. 예를 들자면, windows에 관련된 exploit이라면 windows 디렉토리로 이동하여 2차분류를 해주시면 됩니다.



이제 여기에 mv명령어를 이용하여 wireshark_mpeg_overflow.rb를 /opt/metasploit/msf3/modules/exploits/windows/fileformat으로 옮겨주시면 됩니다.



성공적으로 wireshark_mpeg_overflow.rb를 원하는 경로로 옮겼으니 이제 Metasploit에서 테스트를 해보겠습니다.


 

정상적으로 exploit이 사용이 되네요.

이제 자신이 *.rb를 수정하여 exploit을 커스텀마이징 할 수 도 있습니다.

반응형

+ Recent posts