본문 바로가기

전체 글345

nmap script engine(nse) nmap script [== nse(nmap script engine)] nmap을 통해 네트워크 스캔을 진행하거나, 취약점 진단을 수행할 때 요긴하게 쓰일 수 있는 스크립트 nmap을 통해 포트스캔, 네트워크 접근 이외에도 더 넓은 범위의 checking이 가능하게 해준다. nmap script engine nmap에서 사용되는 script 5개 카테고리의 script를 갖고 있다. network discovery more sophisticated and accurate OS version detection vulnerability detection backdoor detection vulnerability exploition * nse script update 명령어 nmap --script-upda.. 2021. 7. 10.
파일 디스크립터 혼자 정리하는 거라서 앞 뒤 뻘글은 무시해도 됩니다 libc sendto를 후킹해 어떤 프로세스가 해당 함수를 실행했는지 알아내려고 한다. 불가능하다(사유는 맨 밑에) 여기서 sockfd.. socket file descriptor에서 뭔가를 건질 수 있지 않을까? 파일 디스크립터(fd) socket과 같은 파일이나 기타 입출력 리소스에 접근할 때 사용되는 추상 표현. 즉, 시스템으로부터 할당받은 파일이나 소켓을 대표하는 정수. - 음이 아닌 정수값. int로 표현된다. - fd의 0-2번 까지는 고정. (unistd.h 헤더파일에 명시) - 표준 입력, 표준 출력도 fd로 표현이 되는데, 이들은 프로그램이 시작되면 기본적으로 열리고, 종료시 자동으로 닫힌다. 표준 입력 : fd 0 표준 출력 : fd .. 2021. 7. 10.
[풀이X삽질O]hackthebox - pwn with metasploit - blue kali에서 metasploit 사용 환경 설정 부분 생략 본 게시글은 문제를 풀면서 제 생각의 흐름을 그대로 따라갔기 때문에 풀이가 아닌 삽질입니다 답을 보고싶으신 분들은 hackthebox 공식 풀이 보세요 sudo openvpn ~ ifconfig로 확인 su(kali에서 root 전환) 삽질1 msfconsole db_status로 db와 연결되어있는지 확인. (자세한 사항 : https://jdh5202.tistory.com/619) db_nmap -sT -sU -sV 10.10.10.40 -> 오래 걸려서 -sT -sU 따로 진행했다. -sU는 오래 기다려도 아무 값도 출력되지 않는다. -sT 결과값을 토대로 search를 진행했다. * search [문자열] : 취약점 모듈 정보 검색. [문.. 2021. 7. 9.
LD_PRELOAD를 이용한 후킹 할 일 리눅스 유저 영역 후킹.. 특정 프로세스에서 나온 패킷만 필터링해야 하는데, 리눅스에서 python ex.py를 실행하는데, 익스플로잇 코드가 다른 ip를 공격하는 코드라면, send()함수가 있을 것이다. 이때 send를 후킹해서 패킷을 스니핑해야한다. 멘토님 말씀.. preload 이용해서 .so 파일 하이재킹해서 후킹해라... 나에게 주어진 과제다. 일단 후킹이 뭔지 대충이라도 공부를 해봐야겠어서 구글링해서 괜찮은 예제를 찾았다. 리눅스 사용자 모드 후킹 중 'LD_PRELOAD' ld_preload : 환경변수 중 하나 이 변수에 설정된 라이브러리를 기존 라이브러리가 로딩 되기 전에 로딩시킨다. 이때 라이브러리에 중복된 이름의 함수가 있을 경우, ld_preload에 설정된 라이브러리가 먼.. 2021. 7. 8.
공유 메모리 개요 보통 프로세스에서 사용되는 메모리 영역은 해당 프로세스만 사용할 수 있다. 하지만 때때로 여러개의 프로세스가 특정 메모리 영역을 사용했으면 하는 때가 있다. ☞ 이때 공유 메모리를 사용해 실현할 수 있다. 프로세스는 시작시 혹은 실행 중에 이런 데이터를 저장하고 사용하기 위한 메모리 공간을 커널에 요구해 할당받아 사용하게 되는데, 이런 메모리 공간은 기본적으로 메모리를 요청한 프로세스만이 접근가능하도록 되어있다. 하지만 가끔은 여러개의 프로세스가 특정 메모리 공간을 동시에 접근해야할 필요성을 가질 때가 있을 것이다. 공유 메모리는 여러 IPC(inter process communication) 중에서 가장 빠른 수행속도를 보여준다. 그 이유는 하나의 메모리를 공유해서 접근하게 되므로, 데이터 복사와.. 2021. 7. 8.
리눅스 공유 메모리 개념 및 함수 설명 페이지 리눅스 시스템은 메모리를 가상으로 만들어 관리한다. 리눅스 시스템에서 동작하는 프로그램들은 자신들이 시스템의 모든 메모리를 사용할 수 있다, 혹은 그보다 더 많은 메모리를 사용할 수 있다고 착각한다. 이는 리눅스 시스템이 메모리를 가상화해서 프로그램들에게 보여주기 때문이다. 리눅스 시스템은 가상화된 메모리를 "페이지"라는 단위로 쪼개서 관리한다. 특정 크기를 정해서 "페이지" 단위로 나누어 관리하는데, 이렇게 해야지 가상화하기 쉽고 os를 제작하는데 편리하다고 한다. 아 리눅스에선 메모리를 가상화하는데 이 가상화된 메모리를 '페이지'단위로 쪼개 관리하는구나... 공유 메모리 IPC(inter-process communication)를 시작하는 첫 걸음 프로세스간에 서로 공유하기 위한 메모리 * 배.. 2021. 7. 6.