sudo apt-get install xinetd
/etc/xinetd/uaf
service uaf{
disable = no //실행할거면 no
type = UNLISTED
id = uaf-stream
socket_type = stream //TCP socket
protocol = tcp //TCP
user = uaf //바이너리 실행되는 권한
server...
우분투 SSH 서버의 배너와 motd
Posted by cr3denza on 10/01/2015
/ with No Comments
Under banner, linux, login message, ubuntu, welcome message
Under banner, linux, login message, ubuntu, welcome message
UBUNUT SSH 서버에 접속 시도를 하면 로그인이 성공하기 전에 뜨는 배너와 로그인이 성공한 후에 뜨는 메세지가 있다.
id, pw를 입력하기 전에 뜨는 배너는 디폴트 값으로 /etc/issue.net 을 읽어온다.
issue.net 안의 내용을 다 지우고 새로운 텍스트를 넣으면 ssh 연결이 되자마자 새로운 배너를 가져온다.
/etc/ssh/sshd_conifg 안에 적혀있는 Banner=/etc/issue.net 를 변경하여 배너파일을 바꿀수 있다.
로그인이 성공한 후에 뜨는 메세지는 Message Of The Day 라고 한다.
/etc/motd 이 존재하면 수정하고 없으면 만들어 ssh 로그인 성공후에 출력되는 메세지를 변경할 수 있다.
...
내가 필요 했던 MACBOOK TIP (계속 업뎃)
1. SMC 초기화
- 컴퓨터 종료
- MacSafe 전원 아답타 연결
- 내장키보드의 왼쪽에 있는 shift + control + option 키와 power 키를 동시에 누름
- 눌렀던 키 모두를 동시에 놓음
- 컴퓨터를 킴
2. MACBOOK beta update
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL https://swscan.apple.com/content/catalogs/others/index-10.10seed-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz
sudo softwareupdate...
linux 서버, 클라이언트 통신 속도 측정하기

linux 서버, 클라이언트 통신 속도 측정하기
server 와 client 모두 iperf 프로그램을 설치한다. 우리의 친구 apt-get 을 이용하자.
sudo apt-get install iperf
서버 측
iperf -s
클라이언트 측
iperf -c SERVER_ADDR
서버 측
클라이언트 측
90Mbits/sec....
...
linux repository 변경하기
linux repository 변경하기
sudo /etc/apt/sources.list
sources.list 파일 안의 내용을 수정하면 repository 변경된다.
kr.archive.ubuntu.com 을 ftp.daum.net 바꾼다.
:%s/kr.archive.ubuntu.com/ftp.daum.net/g
또는
:%s/us.archive.ubuntu.com/ftp.daum.net/g
archive 이외에도 security.ubuntu.com, extras.ubuntu.com 도 ftp.daum.net 으로 바꾸면 빨라 진다.
sudo apt-get update
sudo apt-get upgrade
ftp.daum.net 으로 접속 하는 것을 확인 할 수 있다...
linux 특정 사용자에게 sudo 권한 부여하기
linux 특정 사용자에게 sudo 권한 부여하기
/etc/sudoers 파일을 수정하여 특정 사용자가 sudo 를 사용하게 할 수 있다.
sudo chmod 660 /etc/sudoers
읽기 전용 파일이라 파일 수정동안 잠시 쓰기를 가능하게 만든다.
sudoers 파일 안에 아래의 형식에 맞게 입력해준다. (ID : cr3denza)
# User privilege specification
root ALL=(ALL:ALL) ALL
cr3denza ALL=(ALL:ALL) ALL
sudo chmod 440 /etc/sudoers
수정이 완료됬으니 권한 원래대로 복구한다.
cr3denza 사용자는 이제 sudo 명령어를 사용할...
eggshell.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
...
linux startup deamon, 리눅스 시작 서비스 관리
- 리눅스 시작 서비스 추가/삭제$ sudo update-rc.d -f apache2 remove$ sudo update-rc.d apache2 defaults
- 리눅스 실행중인 서비스 확인
$ service --status-a...
메모리 확인, ASLR 설정
- 메모리 보기
/proc/$pid/map
- ASLR 설정하기
임시로 끄기
/proc/sys/kernel/randomize_va_stace0: OFF 1: ON(stack only) 2: ON(stack, heap)
영구적 끄기
sysctl -w kernel.randomize_va_space...
c로 작성된 python module 만들기

c로 작성된 python module 만들기
C로 작성된 함수를 파이썬에서 import 해서 사용하기 위해서는 C로 작성된 프로그램 코드를 파이썬이 import할 수 있는 라이브러리 파일로 변환해 주어야 한다. (ubuntu 환경에서 할거임)
swig(Simplified Wrapper and Interface Generator)라는 툴을 사용하면 간단히 라이브러리파일로 만들어 낼 수 있다. swig는 파이썬뿐만 아니라 다른 언어에서도...
컴퓨터 사양 확인
Posted by cr3denza on 5/19/2015
/ with No Comments

CPU-Z 라는 프로그램을 사용하여 컴퓨터 사양 조사
CPU-Z 프로그램은 32비트 컴퓨터용과 64비트 컴퓨터용으로 나뉜다. 자신의 컴퓨터에 맞는 버전을 다운로드 받은 후 실행 한다.
내 컴퓨터의 비트는 내컴퓨터 아이콘에서 마우스 오른쪽을 클릭한 후 속성을 클릭하면 확인 할 수 있다.
64비트 운영 체제가 써있으면 64비트다.
CPU-Z_32_DOWNLOAD
CPU-Z_64_DOWNLOAD
CPU-Z를 실행 시킨다
이름에...
plt로 got 채우기
puts@plt + 0에 puts@plt + 6의 주소가 들어있어서 호출되면 puts@plt+6의 코드가실행
puts@plt + 11 에서 점프하면 pushl, jmp로 분기된다.
pushl로 GOT+4의 주소를 스택에 넣고 GOT+8의 주소로 분기하는데 여기에는_dl_runtime_resolve의 주소가 있다.
_dl_runtime_resolve 에서 _dl_fixup 을 호출한다.
_dl_fixup 함수에서는 edi에 puts의 offset을 넣고 esi에 .strtab의 주소를 넣는다
(.strtab + offset = 'puts' 문자열이 들어가있다.)
eax에는 'puts'문자열의 주소를 넣고 _dl_lookup_symbol_x 함수를 호출한다.
_dl_lookup_symbol_x 함수에서는...
포멧 스트링 버그, Format String Bug(2)

포멧 스트링 버그, Format String Bug
저번 포스팅에서 포멧 스트링 버그를 이용해서 메모리 릭을 하는 방법과 %n 포멧스트링을 어떻게 사용하는지 까지 설명하였다. 이번 포스팅에서는 직접 원하는 메모리에 %n 포멧스트링을 이용하여 원하는 값을 넣어보자.
먼저 확인할 코드!
This file contains...
포멧 스트링 버그, Format String Bug(1)

포멧 스트링 버그, Format String Bug
포멧 스트링 버그는 printf 함수 등에서 사용되는 포멧 스트링(%d, %s...)을 잘못된 형태로 사용할 경우 발생하는 버그이다. 포멧 스트링은 데이터를 어떤 형식에 따라 입력받거나 출력하기 위하여 사용하는데 형식을 잘못사용하면 메모리의 데이터가 유출되고 변조될 수 있다.
포멧 스트링 버그는 메모리 릭, 메모리 변조 모두 가능하기 때문에 취약점이 발생하면 exploitable할 가능성이...
라이브러리 로딩 - ld.so.conf
라이브러리 로딩 - ld.so.conf
라이브러리란 무엇인가?
프로그램에서 공통으로 사용할 수 있는 기능을 포함하고 있는 오브젝트 파일이다.
동적 라이브러리란 무엇인가?
프로그램을 컴파일하여 생성되는 바이너리에 포함하지 않고 바이너리가 실행하는 시점 또는 실행 후에 포함시킬 수 있도록 제작된 라이브러리를 말한다. 그래서 동적이라는 이름이 붙은듯!! 이런 형식의 라이브러리는 프로그램을 실행할 때 호출되는 로더에 의해서 메모리에 적재된다.
동적 라이브러리를 호출하기 위해서는 path 지정이 필수이다. 해당 라이브러리가 어디에 위치해 있는지 모든 디렉토리를 탐색하기에는 비효율적이기 때문이다. 우리가 흔히 설정하는 LD_LIBRARY_PATH 환경변수가 동적 라이브러리 호출을 위한 path 지정에 사용되는...
VIM CHEAT SHEET
VIM CHEAT SHEET
Cursor movement
h - move cursor leftj - move cursor downk - move cursor upl - move cursor rightw - jump forwards to the start of a wordW - jump forwards to the start of a word (words can contain punctuation)e - jump forwards to the end of a wordE - jump forwards to the end of a word (words can contain punctuation)b - jump backwards to...
피드 구독하기:
글 (Atom)
Categories
- programming (17)
- security (46)
- study (22)
- system (35)
Recent 7 Days Popular Posts
-
프로그램은 실행하면서 많은 함수를 호출한다. 함수가 호출되고 호출받은 함수가 실행되려면 레지스터와 스택을 사용해야 한다. 버퍼오버플로우 공격을 공부하면서 호출된 함수가 어떻게 esp (스택을 관리하는 레지스터)를 백업하는지 어떻게 스택을 독립적으로 ...
-
희생자 PC-Windows XP SP3(), 공격자 PC-Backtrack5R3(), 서버 PC-CentOS 5.3() 세 대를 같은 네트워크 대역으로 망을 구성한다 . (VMware 사용 ) 서버 PC 에 tel...
-
UBUNUT SSH 서버에 접속 시도를 하면 로그인이 성공하기 전에 뜨는 배너와 로그인이 성공한 후에 뜨는 메세지가 있다. id, pw를 입력하기 전에 뜨는 배너는 디폴트 값으로 /etc/issue.net 을 읽어온다. issue.net 안...
-
_start, __libc_start_main, main hello를 출력하는 hello C언어로 작성한 간단한 elf파일의 헤더를 보면 실행파일의 시작주소값인 Entry point address에 _start 의 주소가 들...
-
라이브러리 로딩 - ld.so.conf 라이브러리란 무엇인가? 프로그램에서 공통으로 사용할 수 있는 기능을 포함하고 있는 오브젝트 파일이다. 동적 라이브러리란 무엇인가? 프로그램을 컴파일하여 생성되는 바이너리에 포함하지 않고 바이너리가...