Code Monkey home page Code Monkey logo

blobrunner's People

Contributors

herrcore avatar idiom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blobrunner's Issues

x64 printf bug

should be

#ifdef _WIN64
printf(" [] Thread Entry: 0x%016I64x\n", shell_entry);
#else
printf(" [
] Thread Entry: 0x%08I32x\n", shell_entry);
#endif // _WIN64

Memory Base Allocation

Could be user error or possible bug. When I go to the offset specified in the Base, IDA view > segments the base addr is only listed as the end of the allocated memory never at the start for the shellcode.
shellcode3_actual_meterpreter.zip

passwd - infected

Shellcode entrypoint address printing error

In the previous versions, the shellcode entrypoint address is printed before pressing any key to jump to the shellcode. This allows us to set a breakpoint at the shellcode entrypoint before proceeding on.

Screenshot 2022-02-22 at 2 12 54 PM

In the latest version, the shellcode entrypoint address is printed after pressing any key as shown in the screenshot above.

--autobreak flag corrupts the shellcode execution

--autobreak flag provide the injection of "int 3" instruction into the shellcode, what could corrupt the shellcode execution.

Possible solution:
set the breakpoint before the jump to shellcode execution.

Small bug in line 117

printf(" [*] Navigate to the Thread Entry and set a breakpoint. Then press any key to resume the thread.\n",entry);

This line is missing a format specifier for entry.

Prepend an INT 3 instruction

The nopause option does not seem to be useful, I'd rather prepend an INT 3 instruction that forces OllyDBG to stop

Can you do something similar to this?

LPVOID process_file(char* inputfile_name){
        ...
	buffer=(char *)malloc(fileLen+1+4); //Create Buffer
	for (i = 0; i < 3; i ++) {
		buffer[i] = 0x90;
	}
	buffer[3] = 0xCC;
	fread(buffer+4, fileLen, 1, file);  //Read file to buffer
	fclose(file);                     //Close file handle
        ...

--offset assumes base 16

blobrunner incorrectly assumes the offset input is in base 16 or hex. For example, the two commands would jump to different offsets, even though they are equivalent.

blobrunner.exe blah.bin --offset 0xC000 
blobrunner.exe blah.bin --offset 3072

Code refactoring

Provide the code refactoring:

  • make code bit version independent
  • avoid program crashes on shell code execution
  • avoid memory leaks
  • code refactoring

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.